{
  "metadata": {
    "total_contests": 964,
    "total_problems": 10113,
    "last_updated": "2026-10-08T10:00:39.441231"
  },
  "contests": [
    {
      "contest_id": 1,
      "contest_name": "ACM-ICPC World Finals 2012",
      "contest_full_name": "ACM-ICPC World Finals 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > World Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1,
          "problem_letter": "A",
          "problem_id": 4203,
          "problem_name": "Asteroid Rangers",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "graph theory",
            "minimum spanning tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "mst",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "B",
          "problem_id": 4204,
          "problem_name": "Curvy Little Bottles",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "binary search",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "C",
          "problem_id": 4205,
          "problem_name": "버스기사 승재",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory",
            "bitmask",
            "shortest path",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "bitmask",
            "shortest_path",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "D",
          "problem_id": 4206,
          "problem_name": "피보나치 단어",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "dp",
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "E",
          "problem_id": 4207,
          "problem_name": "Infiltration",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "bruteforcing",
            "bitmask",
            "bit set"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "bitmask",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "F",
          "problem_id": 4208,
          "problem_name": "열쇠",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "case work"
          ],
          "tag_keys": [
            "dp",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "G",
          "problem_id": 4209,
          "problem_name": "Minimum Cost Flow",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bruteforcing",
            "dijkstra's",
            "graph theory",
            "implementation",
            "shortest path"
          ],
          "tag_keys": [
            "bruteforcing",
            "dijkstra",
            "graphs",
            "implementation",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "H",
          "problem_id": 4210,
          "problem_name": "로봇 청소기",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "implementation",
            "dynamic programming",
            "geometry",
            "simulation",
            "line segment intersection check"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "geometry",
            "simulation",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "I",
          "problem_id": 4211,
          "problem_name": "금고 회사",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "data structures",
            "segment tree",
            "binary search",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "segtree",
            "binary_search",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "J",
          "problem_id": 4212,
          "problem_name": "최단 비행 경로",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "implementation",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "sweeping",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "sweeping",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "K",
          "problem_id": 4213,
          "problem_name": "그릇 쌓기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1,
          "problem_letter": "L",
          "problem_id": 4214,
          "problem_name": "Takeover Wars",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2,
      "contest_name": "ACM-ICPC World Finals 2011",
      "contest_full_name": "ACM-ICPC World Finals 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2,
          "problem_letter": "A",
          "problem_id": 4215,
          "problem_name": "비밀 프로젝트",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "greedy",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "B",
          "problem_id": 4216,
          "problem_name": "Afﬁne Mess",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "C",
          "problem_id": 4217,
          "problem_name": "신성 문자",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "D",
          "problem_id": 4218,
          "problem_name": "칩 설계",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "circulation",
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "circulation",
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "E",
          "problem_id": 4219,
          "problem_name": "커피 전문점",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "F",
          "problem_id": 4220,
          "problem_name": "Machine Works",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "G",
          "problem_id": 4221,
          "problem_name": "Magic Sticks",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "divide and conquer",
            "geometry",
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "binary_search",
            "divide_and_conquer",
            "geometry",
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "H",
          "problem_id": 4222,
          "problem_name": "Mining Your Own Business",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "articulation points and bridges",
            "biconnected component",
            "graph theory"
          ],
          "tag_keys": [
            "articulation",
            "bcc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "I",
          "problem_id": 4223,
          "problem_name": "Mummy Madness",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "J",
          "problem_id": 4224,
          "problem_name": "피라미드",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2,
          "problem_letter": "K",
          "problem_id": 4225,
          "problem_name": "쓰레기 슈트",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4,
      "contest_name": "2012 Greater New York Programming Contest",
      "contest_full_name": "2012 Greater New York Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 4,
          "problem_letter": "A",
          "problem_id": 3943,
          "problem_name": "헤일스톤 수열",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4,
          "problem_letter": "B",
          "problem_id": 3944,
          "problem_name": "나머지 계산",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4,
          "problem_letter": "C",
          "problem_id": 3945,
          "problem_name": "Pen Counts",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4,
          "problem_letter": "D",
          "problem_id": 3946,
          "problem_name": "랜덤 걷기",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4,
          "problem_letter": "E",
          "problem_id": 3947,
          "problem_name": "폴하버의 삼각형",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4,
          "problem_letter": "F",
          "problem_id": 3948,
          "problem_name": "홍준이의 친위대",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4,
          "problem_letter": "G",
          "problem_id": 3949,
          "problem_name": "Mad Veterinarian",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4,
          "problem_letter": "H",
          "problem_id": 3950,
          "problem_name": "Windmill Animation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4,
          "problem_letter": "I",
          "problem_id": 3951,
          "problem_name": "Push-To Telescope",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4,
          "problem_letter": "X",
          "problem_id": 3952,
          "problem_name": "Mystery",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 5,
      "contest_name": "2011 Greater New York Programming Contest",
      "contest_full_name": "2011 Greater New York Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 5,
          "problem_letter": "A",
          "problem_id": 2675,
          "problem_name": "문자열 반복",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "B",
          "problem_id": 2676,
          "problem_name": "라스칼 삼각형",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "C",
          "problem_id": 2677,
          "problem_name": "에드삭 만들기",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "D",
          "problem_id": 2678,
          "problem_name": "에드삭 데이터 디코딩하기",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "E",
          "problem_id": 2679,
          "problem_name": "맨체스터의 도로",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "F",
          "problem_id": 2680,
          "problem_name": "QR",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "G",
          "problem_id": 2681,
          "problem_name": "목장 주인 백승환의 선물",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "H",
          "problem_id": 2682,
          "problem_name": "최대 사이클 1",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "combinatorics",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 5,
          "problem_letter": "I",
          "problem_id": 2683,
          "problem_name": "황금 천장",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 6,
      "contest_name": "2010 Greater New York Programming Contest",
      "contest_full_name": "2010 Greater New York Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 6,
          "problem_letter": "A",
          "problem_id": 2684,
          "problem_name": "동전 게임",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "B",
          "problem_id": 2685,
          "problem_name": "님비합",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "C",
          "problem_id": 2686,
          "problem_name": "팩스",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "D",
          "problem_id": 2687,
          "problem_name": "팩스 받기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "E",
          "problem_id": 2688,
          "problem_name": "줄어들지 않아",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "F",
          "problem_id": 2689,
          "problem_name": "I²C",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "G",
          "problem_id": 2690,
          "problem_name": "옛날에는 조판을 어떻게 했을까?",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "parsing",
            "regular expression",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "regex",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "H",
          "problem_id": 2691,
          "problem_name": "UPC 바코드 읽기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "sorting",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "sorting",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 6,
          "problem_letter": "I",
          "problem_id": 2692,
          "problem_name": "쌍둥이 규현이와 승환이의 생일 케익",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 7,
      "contest_name": "2009 Greater New York Programming Contest",
      "contest_full_name": "2009 Greater New York Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 7,
          "problem_letter": "A",
          "problem_id": 2693,
          "problem_name": "N번째 큰 수",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "B",
          "problem_id": 2694,
          "problem_name": "합이 같은 구간",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "C",
          "problem_id": 2695,
          "problem_name": "공",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "D",
          "problem_id": 2696,
          "problem_name": "중앙값 구하기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "E",
          "problem_id": 2697,
          "problem_name": "다음수 구하기",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "F",
          "problem_id": 2698,
          "problem_name": "인접한 비트의 개수",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "G",
          "problem_id": 2699,
          "problem_name": "격자점 컨벡스헐",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "H",
          "problem_id": 2700,
          "problem_name": "볼록 격자 다각형의 내부점",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 7,
          "problem_letter": "I",
          "problem_id": 2701,
          "problem_name": "육각 퍼즐",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        }
      ]
    },
    {
      "contest_id": 8,
      "contest_name": "2008 Greater New York Programming Contest",
      "contest_full_name": "2008 Greater New York Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 8,
          "problem_letter": "A",
          "problem_id": 2702,
          "problem_name": "초6 수학",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "B",
          "problem_id": 2703,
          "problem_name": "Cryptoquote",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "C",
          "problem_id": 2704,
          "problem_name": "이진법 시계",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "D",
          "problem_id": 2705,
          "problem_name": "팰린드롬 파티션",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "recursion"
          ],
          "tag_keys": [
            "dp",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "E",
          "problem_id": 2706,
          "problem_name": "문자 보내기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "backtracking",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "backtracking",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "F",
          "problem_id": 2707,
          "problem_name": "노말 정렬",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "G",
          "problem_id": 2708,
          "problem_name": "폴리큐브의 겉넓이",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "H",
          "problem_id": 2709,
          "problem_name": "가장 작은 K",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "arbitrary precision / big integers",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arbitrary_precision",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 8,
          "problem_letter": "I",
          "problem_id": 2710,
          "problem_name": "삼각형 정원",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "geometry",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        }
      ]
    },
    {
      "contest_id": 9,
      "contest_name": "2007 Greater New York Programming Contest",
      "contest_full_name": "2007 Greater New York Programming Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 9,
          "problem_letter": "A",
          "problem_id": 2711,
          "problem_name": "오타맨 고창영",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "B",
          "problem_id": 2712,
          "problem_name": "미국 스타일",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "C",
          "problem_id": 2713,
          "problem_name": "규현이의 사랑을 담은 문자메시지",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "D",
          "problem_id": 2714,
          "problem_name": "문자를 받은 승환이",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "E",
          "problem_id": 2715,
          "problem_name": "상범 마법 팬케이크 하우스",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "F",
          "problem_id": 2716,
          "problem_name": "원숭이 매달기",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "tree",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "G",
          "problem_id": 2717,
          "problem_name": "Model Rocket Height",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 9,
          "problem_letter": "H",
          "problem_id": 2718,
          "problem_name": "타일 채우기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 9,
          "problem_letter": "I",
          "problem_id": 2719,
          "problem_name": "공간 개념 테스트",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 10,
      "contest_name": "2006 Greater New York Programming Contest",
      "contest_full_name": "2006 Greater New York Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 10,
          "problem_letter": "A",
          "problem_id": 2720,
          "problem_name": "세탁소 사장 동혁",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "B",
          "problem_id": 2721,
          "problem_name": "삼각수의 합",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "C",
          "problem_id": 2722,
          "problem_name": "Shuffle’m Up",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "simulation",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "simulation",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "D",
          "problem_id": 2723,
          "problem_name": "눌러서 잠금 해제",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "E",
          "problem_id": 2724,
          "problem_name": "메시지 변환기",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "F",
          "problem_id": 2725,
          "problem_name": "보이는 점의 개수",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "prefix sum",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prefix_sum",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "G",
          "problem_id": 2726,
          "problem_name": "삼각 N-Queen",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "H",
          "problem_id": 2727,
          "problem_name": "2,3 거듭제곱의 합",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 10,
          "problem_letter": "I",
          "problem_id": 2728,
          "problem_name": "오늘은 마가리타 한 잔?",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 11,
      "contest_name": "2005 Greater New York Programming Contest",
      "contest_full_name": "2005 Greater New York Programming Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 11,
          "problem_letter": "A",
          "problem_id": 2729,
          "problem_name": "이진수 덧셈",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 11,
          "problem_letter": "B",
          "problem_id": 2730,
          "problem_name": "오늘은 OS 숙제 제출일",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 11,
          "problem_letter": "C",
          "problem_id": 2731,
          "problem_name": "1379와 세제곱",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 11,
          "problem_letter": "D",
          "problem_id": 2732,
          "problem_name": "Kindergarten Graduation",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 11,
          "problem_letter": "E",
          "problem_id": 2733,
          "problem_name": "Brainf*ck",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "simulation",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "simulation",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 11,
          "problem_letter": "F",
          "problem_id": 2734,
          "problem_name": "드럼통 쌓기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 11,
          "problem_letter": "G",
          "problem_id": 2735,
          "problem_name": "No Fold’em Hold’em",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 11,
          "problem_letter": "H",
          "problem_id": 2736,
          "problem_name": "모형 로켓 발사",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 11,
          "problem_letter": "I",
          "problem_id": 2737,
          "problem_name": "연속 합",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 12,
      "contest_name": "2004 Greater New York Programming Contest",
      "contest_full_name": "2004 Greater New York Programming Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 12,
          "problem_letter": "A",
          "problem_id": 2756,
          "problem_name": "다트",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "B",
          "problem_id": 2757,
          "problem_name": "엑셀",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "C",
          "problem_id": 2758,
          "problem_name": "로또",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "D",
          "problem_id": 2759,
          "problem_name": "팬케이크 뒤집기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "E",
          "problem_id": 2760,
          "problem_name": "마술사 현우",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "case work",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "F",
          "problem_id": 2761,
          "problem_name": "모형 로켓의 높이",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "G",
          "problem_id": 2762,
          "problem_name": "구역 채우기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "case work",
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "H",
          "problem_id": 2763,
          "problem_name": "Histology Assistant",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "graph theory",
            "greedy",
            "graph traversal",
            "ad-hoc",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "greedy",
            "graph_traversal",
            "ad_hoc",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 12,
          "problem_letter": "I",
          "problem_id": 2764,
          "problem_name": "마지막 사진 찍기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 13,
      "contest_name": "2003 Greater New York Programming Contest",
      "contest_full_name": "2003 Greater New York Programming Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 13,
          "problem_letter": "A",
          "problem_id": 2765,
          "problem_name": "자전거 속도",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 13,
          "problem_letter": "B",
          "problem_id": 2766,
          "problem_name": "Candy Sharing Game",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 13,
          "problem_letter": "C",
          "problem_id": 2767,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 13,
          "problem_letter": "D",
          "problem_id": 2768,
          "problem_name": "세금 계산",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 13,
          "problem_letter": "E",
          "problem_id": 2769,
          "problem_name": "논리식 비교",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 13,
          "problem_letter": "F",
          "problem_id": 2770,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 13,
          "problem_letter": "G",
          "problem_id": 2771,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 13,
          "problem_letter": "H",
          "problem_id": 2772,
          "problem_name": "완전히 다양화된 수열",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "recursion",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "recursion",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 13,
          "problem_letter": "I",
          "problem_id": 2773,
          "problem_name": "바깥 삼각형의 중심",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 14,
      "contest_name": "NEERC 2012",
      "contest_full_name": "NEERC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 14,
          "problem_letter": "A",
          "problem_id": 3991,
          "problem_name": "한번 쏘면 멈출 수 없어",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "C",
          "problem_id": 3992,
          "problem_name": "Caravan Robbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "convex hull trick",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "cht",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "D",
          "problem_id": 3993,
          "problem_name": "Disjoint Regular Expressions",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "0-1 bfs",
            "breadth-first search",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "implementation",
            "parsing",
            "regular expression",
            "shortest path",
            "string"
          ],
          "tag_keys": [
            "0_1_bfs",
            "bfs",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "implementation",
            "parsing",
            "regex",
            "shortest_path",
            "string"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "E",
          "problem_id": 3994,
          "problem_name": "Exact Measurement",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "F",
          "problem_id": 3995,
          "problem_name": "스네이크 큐브",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "G",
          "problem_id": 3996,
          "problem_name": "위대한 사기꾼",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "H",
          "problem_id": 3997,
          "problem_name": "하이퍼드롬",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "set / map",
            "prefix sum",
            "bitmask",
            "parity"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "prefix_sum",
            "bitmask",
            "parity"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "I",
          "problem_id": 3998,
          "problem_name": "단백질 식별",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "J",
          "problem_id": 3999,
          "problem_name": "텔레점프",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "case work",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "K",
          "problem_id": 4000,
          "problem_name": "Kingdom Reunion",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [
            "implementation",
            "data structures",
            "geometry",
            "set / map",
            "case work",
            "sweeping",
            "set / map by trees",
            "line segment intersection check",
            "point in convex polygon check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "geometry",
            "set",
            "case_work",
            "sweeping",
            "tree_set",
            "line_intersection",
            "point_in_convex_polygon",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 14,
          "problem_letter": "L",
          "problem_id": 4001,
          "problem_name": "미노타우르스 미궁",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "graph traversal",
            "binary search",
            "prefix sum",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "binary_search",
            "prefix_sum",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        }
      ]
    },
    {
      "contest_id": 15,
      "contest_name": "NEERC 2011",
      "contest_full_name": "NEERC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 15,
          "problem_letter": "A",
          "problem_id": 3495,
          "problem_name": "아스키 도형",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "geometry",
            "parity"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "parity"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "B",
          "problem_id": 3496,
          "problem_name": "Binary Encoding",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "C",
          "problem_id": 3497,
          "problem_name": "Caption",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "D",
          "problem_id": 3498,
          "problem_name": "사전의 크기",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "combinatorics",
            "data structures",
            "mathematics",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "combinatorics",
            "data_structures",
            "math",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "E",
          "problem_id": 3499,
          "problem_name": "미토콘드리아 이브",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "F",
          "problem_id": 3500,
          "problem_name": "Flights",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 15,
          "problem_letter": "G",
          "problem_id": 3501,
          "problem_name": "최대공약수 맞추기 게임",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "greedy",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "H",
          "problem_id": 3502,
          "problem_name": "Huzita Axiom 6",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 15,
          "problem_letter": "I",
          "problem_id": 3503,
          "problem_name": "Interactive Permutation Guessing",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "ad-hoc"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "J",
          "problem_id": 3504,
          "problem_name": "Journey",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 15,
          "problem_letter": "K",
          "problem_id": 3505,
          "problem_name": "Kingdom Roadmap",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 15,
          "problem_letter": "L",
          "problem_id": 3506,
          "problem_name": "Lanes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 16,
      "contest_name": "NEERC 2010",
      "contest_full_name": "NEERC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 16,
          "problem_letter": "A",
          "problem_id": 3518,
          "problem_name": "공백왕 빈-칸",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "B",
          "problem_id": 3519,
          "problem_name": "계산왕 연산군",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "exponentiation by squaring",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "exponentiation_by_squaring",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "C",
          "problem_id": 3520,
          "problem_name": "Cactus Revolution",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "cactus",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "greedy"
          ],
          "tag_keys": [
            "cactus",
            "dfs",
            "graphs",
            "graph_traversal",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "D",
          "problem_id": 3521,
          "problem_name": "Dome of Circus",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "E",
          "problem_id": 3522,
          "problem_name": "Evacuation Plan",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "F",
          "problem_id": 3523,
          "problem_name": "Factorial Simplification",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "G",
          "problem_id": 3524,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 16,
          "problem_letter": "H",
          "problem_id": 3525,
          "problem_name": "Hands of Poker",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "implementation",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "I",
          "problem_id": 3526,
          "problem_name": "이상적인 경로",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "J",
          "problem_id": 3527,
          "problem_name": "Jungle Outpost",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "binary search",
            "parametric search",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "parametric_search",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 16,
          "problem_letter": "K",
          "problem_id": 3528,
          "problem_name": "K-Graph Oddity",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 17,
      "contest_name": "NEERC 2009",
      "contest_full_name": "NEERC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 17,
          "problem_letter": "A",
          "problem_id": 3540,
          "problem_name": "Asteroids",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 17,
          "problem_letter": "B",
          "problem_id": 3541,
          "problem_name": "상근타워",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "C",
          "problem_id": 20409,
          "problem_name": "Central Element",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "D",
          "problem_id": 3542,
          "problem_name": "Database",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "E",
          "problem_id": 3543,
          "problem_name": "Exclusive Access 2",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "graph theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "F",
          "problem_id": 3544,
          "problem_name": "Funny Language",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "string",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "string",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "G",
          "problem_id": 3545,
          "problem_name": "Garbling Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "arbitrary precision / big integers",
            "data structures",
            "sparse table"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "data_structures",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "H",
          "problem_id": 3546,
          "problem_name": "Headshot",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "I",
          "problem_id": 3547,
          "problem_name": "Inspection",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "J",
          "problem_id": 3548,
          "problem_name": "Java Certification",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 17,
          "problem_letter": "K",
          "problem_id": 3549,
          "problem_name": "K-equivalence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 18,
      "contest_name": "NEERC 2008",
      "contest_full_name": "NEERC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 18,
          "problem_letter": "A",
          "problem_id": 3561,
          "problem_name": "Aerodynamics",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "convex hull",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "B",
          "problem_id": 20408,
          "problem_name": "Blind Walk",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "C",
          "problem_id": 3562,
          "problem_name": "Clock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 18,
          "problem_letter": "D",
          "problem_id": 1220,
          "problem_name": "MEGACITY",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "value / coordinate compression",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "coordinate_compression",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "E",
          "problem_id": 3564,
          "problem_name": "Exclusive Access",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "F",
          "problem_id": 3565,
          "problem_name": "피보나치 진법",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "G",
          "problem_id": 3566,
          "problem_name": "대형 스크린",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "H",
          "problem_id": 3567,
          "problem_name": "Hell on the Markets",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "I",
          "problem_id": 3568,
          "problem_name": "iSharp",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 18,
          "problem_letter": "J",
          "problem_id": 3569,
          "problem_name": "Javanese Cryptoanalysis",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 18,
          "problem_letter": "K",
          "problem_id": 3570,
          "problem_name": "KINA Is Not Abbreviation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 19,
      "contest_name": "NEERC 2007",
      "contest_full_name": "NEERC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 19,
          "problem_letter": "A",
          "problem_id": 3582,
          "problem_name": "Ants",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "geometry",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "B",
          "problem_id": 3583,
          "problem_name": "Building for UN",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "C",
          "problem_id": 1180,
          "problem_name": "선인장의 지름",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "data structures",
            "graph theory",
            "tree",
            "dynamic programming on trees",
            "deque",
            "biconnected component",
            "cactus"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "graphs",
            "trees",
            "dp_tree",
            "deque",
            "bcc",
            "cactus"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "D",
          "problem_id": 3585,
          "problem_name": "Diver",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 19,
          "problem_letter": "E",
          "problem_id": 3586,
          "problem_name": "방정식",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "string",
            "case work",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "string",
            "case_work",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "F",
          "problem_id": 3587,
          "problem_name": "Fund Management",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "G",
          "problem_id": 1203,
          "problem_name": "게임",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "H",
          "problem_id": 1155,
          "problem_name": "변형 하노이",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "ad-hoc"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "I",
          "problem_id": 3590,
          "problem_name": "i18n",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "case work",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "J",
          "problem_id": 3591,
          "problem_name": "Japanese Writing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 19,
          "problem_letter": "K",
          "problem_id": 3592,
          "problem_name": "Kingdom Partitioning",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 19,
          "problem_letter": "L",
          "problem_id": 3593,
          "problem_name": "DFA",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "hashing",
            "set / map by hashing",
            "string",
            "tree",
            "trie",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hashing",
            "hash_set",
            "string",
            "trees",
            "trie",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 20,
      "contest_name": "NEERC 2006",
      "contest_full_name": "NEERC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 20,
          "problem_letter": "A",
          "problem_id": 1597,
          "problem_name": "아스키 아트",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "calculus",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "calculus",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "B",
          "problem_id": 3605,
          "problem_name": "Billing Tables",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "C",
          "problem_id": 3606,
          "problem_name": "Cellular Automaton",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "exponentiation by squaring",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "D",
          "problem_id": 3607,
          "problem_name": "Driving Directions",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 20,
          "problem_letter": "E",
          "problem_id": 3608,
          "problem_name": "Exchange",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 20,
          "problem_letter": "F",
          "problem_id": 3609,
          "problem_name": "Fool’s Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 20,
          "problem_letter": "G",
          "problem_id": 3610,
          "problem_name": "Graveyard",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "H",
          "problem_id": 3611,
          "problem_name": "팀의 난이도",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "binary search",
            "parametric search",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "parametric_search",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "I",
          "problem_id": 3612,
          "problem_name": "Interconnect",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "linearity of expectation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "linearity_of_expectation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "J",
          "problem_id": 3613,
          "problem_name": "Java vs C++",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 20,
          "problem_letter": "K",
          "problem_id": 1195,
          "problem_name": "킥다운",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 21,
      "contest_name": "NEERC 2005",
      "contest_full_name": "NEERC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 21,
          "problem_letter": "A",
          "problem_id": 2100,
          "problem_name": "감시 로봇",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "sorting",
            "geometry",
            "angle sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "geometry",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "B",
          "problem_id": 2093,
          "problem_name": "괄호 제거",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "C",
          "problem_id": 2111,
          "problem_name": "선인장",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "arbitrary precision / big integers",
            "biconnected component",
            "cactus"
          ],
          "tag_keys": [
            "graphs",
            "arbitrary_precision",
            "bcc",
            "cactus"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "D",
          "problem_id": 2066,
          "problem_name": "카드놀이",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "E",
          "problem_id": 2088,
          "problem_name": "트리의 개수",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "F",
          "problem_id": 1989,
          "problem_name": "부분배열 고르기 2",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "prefix sum",
            "divide and conquer",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "prefix_sum",
            "divide_and_conquer",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "F (수정)",
          "problem_id": 2104,
          "problem_name": "부분배열 고르기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "G",
          "problem_id": 3626,
          "problem_name": "Guards",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "H",
          "problem_id": 3627,
          "problem_name": "Hardwood Cutting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 21,
          "problem_letter": "I",
          "problem_id": 2064,
          "problem_name": "IP 주소",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "J",
          "problem_id": 1215,
          "problem_name": "잘못 작성한 요세푸스 코드",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 21,
          "problem_letter": "K",
          "problem_id": 3628,
          "problem_name": "Knockdown",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 22,
      "contest_name": "SEERC 2012",
      "contest_full_name": "SEERC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 22,
          "problem_letter": "A",
          "problem_id": 11421,
          "problem_name": "Dr Who’s Banquet",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "greedy",
            "sorting",
            "constructive",
            "degree sequence"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "sorting",
            "constructive",
            "degree_sequence"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "degree_sequence",
              "name": "degree sequence",
              "boj_tag_id": 200
            }
          ]
        },
        {
          "contest_id": 22,
          "problem_letter": "B",
          "problem_id": 11422,
          "problem_name": "Bitris",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "data structures",
            "greedy",
            "mathematics",
            "segment tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "data_structures",
            "greedy",
            "math",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 22,
          "problem_letter": "C",
          "problem_id": 11423,
          "problem_name": "Primes",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "binary search",
            "prefix sum",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "binary_search",
            "prefix_sum",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 22,
          "problem_letter": "D",
          "problem_id": 11424,
          "problem_name": "Longest Prefix Match",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 22,
          "problem_letter": "E",
          "problem_id": 11425,
          "problem_name": "Stripe",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 22,
          "problem_letter": "F",
          "problem_id": 11426,
          "problem_name": "Maximal Number of Divisors",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 22,
          "problem_letter": "G",
          "problem_id": 11427,
          "problem_name": "Miraculous Drug",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 22,
          "problem_letter": "H",
          "problem_id": 11428,
          "problem_name": "Softville",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 22,
          "problem_letter": "I",
          "problem_id": 11429,
          "problem_name": "Tree",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 22,
          "problem_letter": "J",
          "problem_id": 11430,
          "problem_name": "VAN DINSKY",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 23,
      "contest_name": "SEERC 2011",
      "contest_full_name": "SEERC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 23,
          "problem_letter": "A",
          "problem_id": 3715,
          "problem_name": "Secret — MAX",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 23,
          "problem_letter": "B",
          "problem_id": 3716,
          "problem_name": "Safety Grade",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 23,
          "problem_letter": "C",
          "problem_id": 3717,
          "problem_name": "Search by template",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 23,
          "problem_letter": "D",
          "problem_id": 3718,
          "problem_name": "Roots Intervals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 23,
          "problem_letter": "E",
          "problem_id": 3719,
          "problem_name": "팰린드롬 날짜",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "greedy",
            "bruteforcing",
            "ad-hoc",
            "case work",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "bruteforcing",
            "ad_hoc",
            "case_work",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 23,
          "problem_letter": "G",
          "problem_id": 3720,
          "problem_name": "Choosing a camera",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 23,
          "problem_letter": "H",
          "problem_id": 3721,
          "problem_name": "Road Planner",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 23,
          "problem_letter": "I",
          "problem_id": 3722,
          "problem_name": "Term Generator",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "string",
            "parsing",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 23,
          "problem_letter": "J",
          "problem_id": 3723,
          "problem_name": "Painting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 24,
      "contest_name": "SEERC 2010",
      "contest_full_name": "SEERC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 24,
          "problem_letter": "A",
          "problem_id": 3724,
          "problem_name": "표",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "bruteforcing",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "bruteforcing",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 24,
          "problem_letter": "B",
          "problem_id": 3725,
          "problem_name": "Calculator",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 24,
          "problem_letter": "C",
          "problem_id": 3726,
          "problem_name": "가장 큰 원",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "sweeping",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "sweeping",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 24,
          "problem_letter": "D",
          "problem_id": 3727,
          "problem_name": "프로그래밍 대회",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 24,
          "problem_letter": "E",
          "problem_id": 3728,
          "problem_name": "Control Points",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 24,
          "problem_letter": "F",
          "problem_id": 3729,
          "problem_name": "Gamers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 24,
          "problem_letter": "G",
          "problem_id": 3730,
          "problem_name": "Cosmic Station",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 24,
          "problem_letter": "H",
          "problem_id": 3731,
          "problem_name": "Game",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 24,
          "problem_letter": "I",
          "problem_id": 3732,
          "problem_name": "Proof Generator",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "parsing",
            "recursion",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "recursion",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 24,
          "problem_letter": "J",
          "problem_id": 3733,
          "problem_name": "Shares",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 25,
      "contest_name": "SEERC 2009",
      "contest_full_name": "SEERC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 25,
          "problem_letter": "A",
          "problem_id": 3734,
          "problem_name": "RSA 인수 분해",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "bruteforcing",
            "ad-hoc",
            "number theory",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "ad_hoc",
            "number_theory",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 25,
          "problem_letter": "B",
          "problem_id": 3735,
          "problem_name": "Hard-working Student",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 25,
          "problem_letter": "C",
          "problem_id": 3736,
          "problem_name": "System Engineer",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 25,
          "problem_letter": "D",
          "problem_id": 3737,
          "problem_name": "Cycles of Lanes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "biconnected component",
            "cactus",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bcc",
            "cactus",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 25,
          "problem_letter": "E",
          "problem_id": 3738,
          "problem_name": "Multiprocessor Scheduling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 25,
          "problem_letter": "F",
          "problem_id": 3739,
          "problem_name": "Maze Stretching",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 25,
          "problem_letter": "G",
          "problem_id": 3740,
          "problem_name": "Software Industry Revolution",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 25,
          "problem_letter": "H",
          "problem_id": 3741,
          "problem_name": "The Lucky Numbers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "sorting",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 25,
          "problem_letter": "I",
          "problem_id": 3742,
          "problem_name": "The Robbery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 25,
          "problem_letter": "J",
          "problem_id": 3743,
          "problem_name": "The Computer Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 25,
          "problem_letter": "K",
          "problem_id": 3744,
          "problem_name": "The Bad Number",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 26,
      "contest_name": "SEERC 2008",
      "contest_full_name": "SEERC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 26,
          "problem_letter": "A",
          "problem_id": 3745,
          "problem_name": "오름세",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "binary_search",
            "lis"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "B",
          "problem_id": 3746,
          "problem_name": "Sky Code",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "C",
          "problem_id": 3747,
          "problem_name": "완벽한 선거!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "D",
          "problem_id": 3748,
          "problem_name": "Lucky cities",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "bipartite graph",
            "biconnected component"
          ],
          "tag_keys": [
            "graphs",
            "bipartite_graph",
            "bcc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "E",
          "problem_id": 3749,
          "problem_name": "Build Your Home",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "F",
          "problem_id": 3750,
          "problem_name": "Quick answer",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "G",
          "problem_id": 3751,
          "problem_name": "행운의 수",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "bruteforcing"
          ],
          "tag_keys": [
            "binary_search",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "H",
          "problem_id": 3752,
          "problem_name": "최대공약수 행렬식",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "linear algebra",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "linear_algebra",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 26,
          "problem_letter": "I",
          "problem_id": 3753,
          "problem_name": "Internet Service Providers",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        }
      ]
    },
    {
      "contest_id": 27,
      "contest_name": "SEERC 2007",
      "contest_full_name": "SEERC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 27,
          "problem_letter": "A",
          "problem_id": 3754,
          "problem_name": "John",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 27,
          "problem_letter": "B",
          "problem_id": 3755,
          "problem_name": "Double Queue",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "set / map",
            "priority queue",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "priority_queue",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 27,
          "problem_letter": "C",
          "problem_id": 3756,
          "problem_name": "‘JBC’",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 27,
          "problem_letter": "D",
          "problem_id": 3757,
          "problem_name": "Loan Scheduling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 27,
          "problem_letter": "E",
          "problem_id": 1637,
          "problem_name": "날카로운 눈",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "parametric search",
            "parity"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search",
            "parity"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 27,
          "problem_letter": "F",
          "problem_id": 3759,
          "problem_name": "Highway",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 27,
          "problem_letter": "G",
          "problem_id": 3760,
          "problem_name": "Computers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "dp",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 27,
          "problem_letter": "H",
          "problem_id": 3761,
          "problem_name": "The Stable Marriage Problem",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "string",
            "parsing",
            "stable marriage problem"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "parsing",
            "stable_marriage"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stable_marriage",
              "name": "stable marriage problem",
              "boj_tag_id": 192
            }
          ]
        },
        {
          "contest_id": 27,
          "problem_letter": "I",
          "problem_id": 3762,
          "problem_name": "Arne Saknussemm",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 28,
      "contest_name": "SEERC 2006",
      "contest_full_name": "SEERC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 28,
          "problem_letter": "A",
          "problem_id": 3763,
          "problem_name": "스도쿠",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "backtracking",
            "knuth's x",
            "dancing links"
          ],
          "tag_keys": [
            "backtracking",
            "knuth_x",
            "dancing_links"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "knuth_x",
              "name": "knuth's x",
              "boj_tag_id": 174
            },
            {
              "key": "dancing_links",
              "name": "dancing links",
              "boj_tag_id": 173
            }
          ]
        },
        {
          "contest_id": 28,
          "problem_letter": "B",
          "problem_id": 1806,
          "problem_name": "부분합",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 28,
          "problem_letter": "C",
          "problem_id": 3765,
          "problem_name": "Celebrity jeopardy",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 28,
          "problem_letter": "D",
          "problem_id": 3766,
          "problem_name": "Sherlock Holmes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 28,
          "problem_letter": "E",
          "problem_id": 3767,
          "problem_name": "Payment System",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 28,
          "problem_letter": "F",
          "problem_id": 3768,
          "problem_name": "Stargates",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 28,
          "problem_letter": "G",
          "problem_id": 3769,
          "problem_name": "최댓값",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 28,
          "problem_letter": "H",
          "problem_id": 3770,
          "problem_name": "대한민국",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 28,
          "problem_letter": "I",
          "problem_id": 3771,
          "problem_name": "“Shortest” pair of paths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 29,
      "contest_name": "SEERC 2005",
      "contest_full_name": "SEERC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 29,
          "problem_letter": "A",
          "problem_id": 3772,
          "problem_name": "Linear world",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "B",
          "problem_id": 3773,
          "problem_name": "Songs",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "C",
          "problem_id": 2239,
          "problem_name": "스도쿠",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "D",
          "problem_id": 3774,
          "problem_name": "Tour",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "E",
          "problem_id": 2125,
          "problem_name": "좀",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "convex hull",
            "line segment intersection check",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "convex_hull",
            "line_intersection",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "F",
          "problem_id": 2129,
          "problem_name": "드라이브 파이널",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "floyd–warshall",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "floyd_warshall",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "G",
          "problem_id": 3777,
          "problem_name": "Computer Transformation",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "H",
          "problem_id": 3778,
          "problem_name": "애너그램 거리",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 29,
          "problem_letter": "I",
          "problem_id": 2119,
          "problem_name": "프로그래밍 언어 L",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "dynamic programming",
            "data structures",
            "graph theory",
            "segment tree",
            "simulation",
            "segment tree with lazy propagation",
            "directed acyclic graph",
            "recursion",
            "topological sorting"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "data_structures",
            "graphs",
            "segtree",
            "simulation",
            "lazyprop",
            "dag",
            "recursion",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        }
      ]
    },
    {
      "contest_id": 30,
      "contest_name": "SEERC 2004",
      "contest_full_name": "SEERC 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 30,
          "problem_letter": "A",
          "problem_id": 3779,
          "problem_name": "주기",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 30,
          "problem_letter": "B",
          "problem_id": 3780,
          "problem_name": "네트워크 연결",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 30,
          "problem_letter": "C",
          "problem_id": 3781,
          "problem_name": "Cave Exploration",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 30,
          "problem_letter": "D",
          "problem_id": 3782,
          "problem_name": "City Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 30,
          "problem_letter": "E",
          "problem_id": 3783,
          "problem_name": "세제곱근",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "binary search",
            "arbitrary precision / big integers",
            "numerical analysis"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "arbitrary_precision",
            "numerical_analysis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "numerical_analysis",
              "name": "numerical analysis",
              "boj_tag_id": 122
            }
          ]
        },
        {
          "contest_id": 30,
          "problem_letter": "F",
          "problem_id": 3784,
          "problem_name": "Cable TV Network",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 30,
          "problem_letter": "G",
          "problem_id": 3785,
          "problem_name": "Alibaba",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 30,
          "problem_letter": "H",
          "problem_id": 3786,
          "problem_name": "Booklets",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 30,
          "problem_letter": "I",
          "problem_id": 3787,
          "problem_name": "Count on Canton",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 31,
      "contest_name": "SEERC 2003",
      "contest_full_name": "SEERC 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 31,
          "problem_letter": "A",
          "problem_id": 3788,
          "problem_name": "Delta Encoding and Decoding",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "B",
          "problem_id": 3789,
          "problem_name": "Hidden Password",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "C",
          "problem_id": 3790,
          "problem_name": "Crazy tea party",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "D",
          "problem_id": 2109,
          "problem_name": "순회강연",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "E",
          "problem_id": 3792,
          "problem_name": "Lord of the Ring",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "F",
          "problem_id": 3793,
          "problem_name": "Common Subsequence",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "G",
          "problem_id": 3794,
          "problem_name": "Power Network",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "string",
            "parsing",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "parsing",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 31,
          "problem_letter": "H",
          "problem_id": 3795,
          "problem_name": "Firefighters",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 31,
          "problem_letter": "I",
          "problem_id": 3796,
          "problem_name": "Binary Polynomials",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "bitmask",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        }
      ]
    },
    {
      "contest_id": 32,
      "contest_name": "SEERC 2002",
      "contest_full_name": "SEERC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 32,
          "problem_letter": "A",
          "problem_id": 3797,
          "problem_name": "Cash Machine",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "B",
          "problem_id": 3798,
          "problem_name": "Beer Land",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "C",
          "problem_id": 3799,
          "problem_name": "BOAT",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "knapsack"
          ],
          "tag_keys": [
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "D",
          "problem_id": 3800,
          "problem_name": "Art Gallery",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "half plane intersection",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "half_plane_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "E",
          "problem_id": 3801,
          "problem_name": "Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "F",
          "problem_id": 3802,
          "problem_name": "MANAGER",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "G",
          "problem_id": 3803,
          "problem_name": "Networking",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 32,
          "problem_letter": "H",
          "problem_id": 3804,
          "problem_name": "Sly Number",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 33,
      "contest_name": "CERC 2012",
      "contest_full_name": "CERC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 33,
          "problem_letter": "A",
          "problem_id": 3405,
          "problem_name": "파산하는 왕국",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "B",
          "problem_id": 3406,
          "problem_name": "Who wants to live forever?",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "divide and conquer",
            "mathematics"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "math"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "C",
          "problem_id": 3407,
          "problem_name": "맹세",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "graph theory",
            "string",
            "bruteforcing",
            "graph traversal"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "string",
            "bruteforcing",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "D",
          "problem_id": 3408,
          "problem_name": "Non-boring sequences",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "E",
          "problem_id": 3409,
          "problem_name": "문자 방정식",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "graph theory",
            "string",
            "graph traversal",
            "tree",
            "depth-first search",
            "parsing"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "string",
            "graph_traversal",
            "trees",
            "dfs",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "F",
          "problem_id": 3410,
          "problem_name": "Farm and factory",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "slope trick"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "slope_trick"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "slope_trick",
              "name": "slope trick",
              "boj_tag_id": 157
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "G",
          "problem_id": 3411,
          "problem_name": "Jewel heist",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "H",
          "problem_id": 3412,
          "problem_name": "Darts",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "I",
          "problem_id": 3413,
          "problem_name": "The Dragon and the knights",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "euler characteristic (χ=v-e+f)",
            "geometry"
          ],
          "tag_keys": [
            "data_structures",
            "euler_characteristic",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "J",
          "problem_id": 3414,
          "problem_name": "Conservation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 33,
          "problem_letter": "K",
          "problem_id": 3415,
          "problem_name": "Graphic Madness",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "constructive",
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 34,
      "contest_name": "CERC 2011",
      "contest_full_name": "CERC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 34,
          "problem_letter": "A",
          "problem_id": 3416,
          "problem_name": "Boring Card Game",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "chinese remainder theorem",
            "implementation",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "crt",
            "implementation",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "B",
          "problem_id": 3417,
          "problem_name": "Vigenère Cipher Encryption",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "C",
          "problem_id": 3418,
          "problem_name": "Unique Encryption Keys",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "D",
          "problem_id": 3419,
          "problem_name": "Racing Car Trail",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "game theory",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "game_theory",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "E",
          "problem_id": 3420,
          "problem_name": "Stack Machine Programmer",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 34,
          "problem_letter": "F",
          "problem_id": 3421,
          "problem_name": "이상한 규정",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "data structures",
            "tree",
            "set / map",
            "splay tree"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "trees",
            "set",
            "splay_tree"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "G",
          "problem_id": 3422,
          "problem_name": "Vigenère Cipher Analysis",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 34,
          "problem_letter": "H",
          "problem_id": 3423,
          "problem_name": "The Grille",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "I",
          "problem_id": 3424,
          "problem_name": "Unchanged Picture",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 34,
          "problem_letter": "J",
          "problem_id": 3425,
          "problem_name": "고스택",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        }
      ]
    },
    {
      "contest_id": 35,
      "contest_name": "CERC 2010",
      "contest_full_name": "CERC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 35,
          "problem_letter": "A",
          "problem_id": 3426,
          "problem_name": "Ardenia",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "B",
          "problem_id": 3427,
          "problem_name": "Beasts",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 35,
          "problem_letter": "C",
          "problem_id": 3428,
          "problem_name": "Casting Spells",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "string",
            "manacher's"
          ],
          "tag_keys": [
            "string",
            "manacher"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "manacher",
              "name": "manacher's",
              "boj_tag_id": 44
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "D",
          "problem_id": 3429,
          "problem_name": "방어선",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "E",
          "problem_id": 3430,
          "problem_name": "용이 산다",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "priority queue",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "priority_queue",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "F",
          "problem_id": 3431,
          "problem_name": "Fields and Farmers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "case work",
            "dynamic programming",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "case_work",
            "dp",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "G",
          "problem_id": 3432,
          "problem_name": "Game",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "H",
          "problem_id": 3433,
          "problem_name": "Hanging Hats",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "I",
          "problem_id": 3434,
          "problem_name": "Insults",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "case work",
            "data structures",
            "implementation",
            "stack",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "implementation",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 35,
          "problem_letter": "J",
          "problem_id": 3435,
          "problem_name": "Justice for All",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        }
      ]
    },
    {
      "contest_id": 36,
      "contest_name": "CERC 2007",
      "contest_full_name": "CERC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 36,
          "problem_letter": "B",
          "problem_id": 3436,
          "problem_name": "Strange Billboard",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "C",
          "problem_id": 3437,
          "problem_name": "Phone Cell",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "parametric search"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "H",
          "problem_id": 3438,
          "problem_name": "Hexagonal Parcels",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 36,
          "problem_letter": "K",
          "problem_id": 3439,
          "problem_name": "Key Task",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "bitmask",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "bfs",
            "bitmask",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "L",
          "problem_id": 3440,
          "problem_name": "Gates of Logic",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "N",
          "problem_id": 3441,
          "problem_name": "Weird Numbers",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "P",
          "problem_id": 3442,
          "problem_name": "직각 다각형",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "sorting"
          ],
          "tag_keys": [
            "geometry",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "R",
          "problem_id": 3443,
          "problem_name": "Reaux! Sham! Beaux!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "S",
          "problem_id": 3444,
          "problem_name": "Robotic Sort",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "tree",
            "splay tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "splay_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "W",
          "problem_id": 3445,
          "problem_name": "Tough Water Level",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 36,
          "problem_letter": "PA",
          "problem_id": 6612,
          "problem_name": "개미의 이동",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "PB",
          "problem_id": 3447,
          "problem_name": "버그왕",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "PC",
          "problem_id": 3448,
          "problem_name": "문자 인식",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "PD",
          "problem_id": 3449,
          "problem_name": "해밍 거리",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 36,
          "problem_letter": "PE",
          "problem_id": 3450,
          "problem_name": "Desperate Electrician",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 37,
      "contest_name": "CERC 2003",
      "contest_full_name": "CERC 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 37,
          "problem_letter": "A",
          "problem_id": 3451,
          "problem_name": "Easy Task",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 37,
          "problem_letter": "B",
          "problem_id": 3452,
          "problem_name": "Bundling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 37,
          "problem_letter": "C",
          "problem_id": 3453,
          "problem_name": "Shortcut",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 37,
          "problem_letter": "D",
          "problem_id": 3454,
          "problem_name": "Dice Contest",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 37,
          "problem_letter": "E",
          "problem_id": 3455,
          "problem_name": "November Rain",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "sweeping"
          ],
          "tag_keys": [
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 37,
          "problem_letter": "F",
          "problem_id": 3456,
          "problem_name": "축구공",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "ad-hoc",
            "geometry",
            "finding invariants",
            "euler characteristic (χ=v-e+f)"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "geometry",
            "invariant",
            "euler_characteristic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            }
          ]
        },
        {
          "contest_id": 37,
          "problem_letter": "G",
          "problem_id": 3457,
          "problem_name": "Which is Next",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 37,
          "problem_letter": "H",
          "problem_id": 3458,
          "problem_name": "Hang or not to hang",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 37,
          "problem_letter": "I",
          "problem_id": 3459,
          "problem_name": "Minimizing Maximizer",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        }
      ]
    },
    {
      "contest_id": 38,
      "contest_name": "CERC 2001",
      "contest_full_name": "CERC 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 38,
          "problem_letter": "A",
          "problem_id": 3461,
          "problem_name": "Alice and Bob",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "planar graph",
            "dual graph"
          ],
          "tag_keys": [
            "graphs",
            "planar_graph",
            "dual_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "dual_graph",
              "name": "dual graph",
              "boj_tag_id": 181
            }
          ]
        },
        {
          "contest_id": 38,
          "problem_letter": "B",
          "problem_id": 3462,
          "problem_name": "이진 스털링 수",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 38,
          "problem_letter": "C",
          "problem_id": 3463,
          "problem_name": "Calendar of Maya",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 38,
          "problem_letter": "D",
          "problem_id": 3464,
          "problem_name": "Decoding Morse sequences",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "dynamic programming",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 38,
          "problem_letter": "E",
          "problem_id": 2354,
          "problem_name": "비교교환",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "ad-hoc"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 38,
          "problem_letter": "F",
          "problem_id": 2130,
          "problem_name": "수조",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "binary search",
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 38,
          "problem_letter": "G",
          "problem_id": 3467,
          "problem_name": "Gates",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "constructive"
          ],
          "tag_keys": [
            "binary_search",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 38,
          "problem_letter": "H",
          "problem_id": 3468,
          "problem_name": "Horizontally Visible Segments",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 38,
          "problem_letter": "PB",
          "problem_id": 3460,
          "problem_name": "이진수",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 39,
      "contest_name": "CERC 2000",
      "contest_full_name": "CERC 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 39,
          "problem_letter": "A",
          "problem_id": 3469,
          "problem_name": "Simple Arithmetics",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "case work",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "case_work",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 39,
          "problem_letter": "B",
          "problem_id": 3470,
          "problem_name": "The Bulk",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 39,
          "problem_letter": "C",
          "problem_id": 3471,
          "problem_name": "Complete the sequence!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "calculus",
            "difference array",
            "polynomial interpolation"
          ],
          "tag_keys": [
            "math",
            "calculus",
            "difference_array",
            "polynomial_interpolation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "polynomial_interpolation",
              "name": "polynomial interpolation",
              "boj_tag_id": 209
            }
          ]
        },
        {
          "contest_id": 39,
          "problem_letter": "D",
          "problem_id": 3472,
          "problem_name": "Direct Visibility",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 39,
          "problem_letter": "E",
          "problem_id": 3473,
          "problem_name": "Complicated Expressions",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 39,
          "problem_letter": "F",
          "problem_id": 3474,
          "problem_name": "교수가 된 현우",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 39,
          "problem_letter": "G",
          "problem_id": 3475,
          "problem_name": "The Game of Master-Mind",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 39,
          "problem_letter": "H",
          "problem_id": 3476,
          "problem_name": "Hotline",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 39,
          "problem_letter": "I",
          "problem_id": 3477,
          "problem_name": "I-Keyboard",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 40,
      "contest_name": "CERC 1999",
      "contest_full_name": "CERC 1999",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 40,
          "problem_letter": "A",
          "problem_id": 3478,
          "problem_name": "Run Away",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "heuristics"
          ],
          "tag_keys": [
            "geometry",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 40,
          "problem_letter": "B",
          "problem_id": 3479,
          "problem_name": "Equipment Box",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 40,
          "problem_letter": "C",
          "problem_id": 3480,
          "problem_name": "Secret Code",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 40,
          "problem_letter": "D",
          "problem_id": 3481,
          "problem_name": "The Proper Key",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 40,
          "problem_letter": "E",
          "problem_id": 3482,
          "problem_name": "Labyrinth",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "grid graph",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "grid_graph",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 40,
          "problem_letter": "F",
          "problem_id": 3483,
          "problem_name": "Piggy-Bank",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 40,
          "problem_letter": "G",
          "problem_id": 3484,
          "problem_name": "Lifting the Stone",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 40,
          "problem_letter": "H",
          "problem_id": 3485,
          "problem_name": "Play on Words",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        }
      ]
    },
    {
      "contest_id": 41,
      "contest_name": "CERC 1998",
      "contest_full_name": "CERC 1998",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 41,
          "problem_letter": "A",
          "problem_id": 3486,
          "problem_name": "Adding Reversed Numbers",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 41,
          "problem_letter": "B",
          "problem_id": 3487,
          "problem_name": "Copying Books",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 41,
          "problem_letter": "C",
          "problem_id": 3488,
          "problem_name": "Substitution Cipher",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 41,
          "problem_letter": "D",
          "problem_id": 3489,
          "problem_name": "Commedia dell' arte",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 41,
          "problem_letter": "E",
          "problem_id": 3490,
          "problem_name": "Calculating Expressions on Turing Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 41,
          "problem_letter": "F",
          "problem_id": 3491,
          "problem_name": "Skyscraper Floors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "number theory",
            "breadth-first search",
            "depth-first search",
            "chinese remainder theorem",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "number_theory",
            "bfs",
            "dfs",
            "crt",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 41,
          "problem_letter": "G",
          "problem_id": 3492,
          "problem_name": "Glass Beads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 41,
          "problem_letter": "H",
          "problem_id": 3493,
          "problem_name": "Hares and Foxes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 41,
          "problem_letter": "I",
          "problem_id": 3494,
          "problem_name": "Invitation Cards",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 42,
      "contest_name": "NEERC Northern Subregional 2011",
      "contest_full_name": "NEERC Northern Subregional 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 42,
          "problem_letter": "A",
          "problem_id": 3507,
          "problem_name": "Automated Telephone Exchange",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "B",
          "problem_id": 3508,
          "problem_name": "Black Square",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "C",
          "problem_id": 3509,
          "problem_name": "Cube Coloring",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 42,
          "problem_letter": "D",
          "problem_id": 3510,
          "problem_name": "Dice",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "E",
          "problem_id": 3511,
          "problem_name": "Electrification",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 42,
          "problem_letter": "F",
          "problem_id": 3512,
          "problem_name": "Flat",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "G",
          "problem_id": 3513,
          "problem_name": "Galaxy Interconnection",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "constructive",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "constructive",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "H",
          "problem_id": 3514,
          "problem_name": "High security",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 42,
          "problem_letter": "I",
          "problem_id": 3515,
          "problem_name": "Immediate Delivery",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bitmask",
            "dijkstra's",
            "dynamic programming",
            "dynamic programming using bitfield",
            "graph theory",
            "shortest path",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "bitmask",
            "dijkstra",
            "dp",
            "dp_bitfield",
            "graphs",
            "shortest_path",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "J",
          "problem_id": 3516,
          "problem_name": "John’s Inversions",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "sorting",
            "segment tree",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 42,
          "problem_letter": "K",
          "problem_id": 3517,
          "problem_name": "Kids Like Cakes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 43,
      "contest_name": "NEERC Northern Subregional 2010",
      "contest_full_name": "NEERC Northern Subregional 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 43,
          "problem_letter": "A",
          "problem_id": 3529,
          "problem_name": "Alien Communication Masterclass",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "constructive",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "B",
          "problem_id": 3530,
          "problem_name": "Bug2",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 43,
          "problem_letter": "C",
          "problem_id": 3531,
          "problem_name": "Commuting Functions",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "D",
          "problem_id": 3532,
          "problem_name": "Defense of a Kingdom",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "E",
          "problem_id": 3533,
          "problem_name": "Explicit Formula",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "F",
          "problem_id": 3534,
          "problem_name": "Frames",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "G",
          "problem_id": 3535,
          "problem_name": "Gadgets Factory",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 43,
          "problem_letter": "H",
          "problem_id": 3536,
          "problem_name": "Horrible Truth",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "I",
          "problem_id": 3537,
          "problem_name": "Ideal Contest",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "J",
          "problem_id": 3538,
          "problem_name": "Journey",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "shortest path",
            "depth-first search",
            "dijkstra's",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dfs",
            "dijkstra",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 43,
          "problem_letter": "K",
          "problem_id": 3539,
          "problem_name": "Kitchen Robot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 44,
      "contest_name": "NEERC Northern Subregional 2009",
      "contest_full_name": "NEERC Northern Subregional 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 44,
          "problem_letter": "A",
          "problem_id": 3550,
          "problem_name": "Auxiliary Question of the Universe",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "B",
          "problem_id": 3551,
          "problem_name": "Bureaucracy",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "graph theory"
          ],
          "tag_keys": [
            "implementation",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "C",
          "problem_id": 3552,
          "problem_name": "Circles on a Screen",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "D",
          "problem_id": 3553,
          "problem_name": "Dragon’s Question",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "E",
          "problem_id": 3554,
          "problem_name": "Enigmatic Device",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "F",
          "problem_id": 3555,
          "problem_name": "Four Points",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "G",
          "problem_id": 3556,
          "problem_name": "Grand Theft Auto Wheel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 44,
          "problem_letter": "H",
          "problem_id": 3557,
          "problem_name": "Homo or Hetero?",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "I",
          "problem_id": 3558,
          "problem_name": "Image Recognition",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 44,
          "problem_letter": "J",
          "problem_id": 3559,
          "problem_name": "Jealous Numbers",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "inclusion and exclusion",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "inclusion_and_exclusion",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 44,
          "problem_letter": "K",
          "problem_id": 3560,
          "problem_name": "Kripke Model",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 45,
      "contest_name": "NEERC Northern Subregional 2008",
      "contest_full_name": "NEERC Northern Subregional 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 45,
          "problem_letter": "A",
          "problem_id": 3571,
          "problem_name": "Access Control Lists",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "B",
          "problem_id": 3572,
          "problem_name": "Billboard",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "C",
          "problem_id": 3573,
          "problem_name": "Class",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "D",
          "problem_id": 3574,
          "problem_name": "Deposits",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "combinatorics",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "combinatorics",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "E",
          "problem_id": 3575,
          "problem_name": "Enchanted Mirror",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "F",
          "problem_id": 3576,
          "problem_name": "Fenwick Tree",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "constructive",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "constructive",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "G",
          "problem_id": 3577,
          "problem_name": "Ground Works",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "geometry",
            "tree",
            "case work",
            "recursion",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "geometry",
            "trees",
            "case_work",
            "recursion",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "H",
          "problem_id": 3578,
          "problem_name": "Holes",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "I",
          "problem_id": 3579,
          "problem_name": "Important Wires",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "J",
          "problem_id": 3580,
          "problem_name": "Just Too Lucky",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "precomputation",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "precomputation",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 45,
          "problem_letter": "K",
          "problem_id": 3581,
          "problem_name": "Key to Success",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 46,
      "contest_name": "NEERC Northern Subregional 2007",
      "contest_full_name": "NEERC Northern Subregional 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 46,
          "problem_letter": "A",
          "problem_id": 3594,
          "problem_name": "A+B",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "string"
          ],
          "tag_keys": [
            "math",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "B",
          "problem_id": 3595,
          "problem_name": "맥주 냉장고",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "C",
          "problem_id": 3596,
          "problem_name": "크로스와 크로스",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "D",
          "problem_id": 3597,
          "problem_name": "Domestic Networks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 46,
          "problem_letter": "E",
          "problem_id": 3598,
          "problem_name": "엘리베이터",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "F",
          "problem_id": 3599,
          "problem_name": "Formula",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 46,
          "problem_letter": "G",
          "problem_id": 3600,
          "problem_name": "Given a string. . .",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "set / map",
            "hashing",
            "bit set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hashing",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "H",
          "problem_id": 3601,
          "problem_name": "History of Football",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "data structures",
            "bruteforcing",
            "sorting",
            "set / map",
            "backtracking",
            "set / map by trees",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "bruteforcing",
            "sorting",
            "set",
            "backtracking",
            "tree_set",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "I",
          "problem_id": 3602,
          "problem_name": "iChess",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "parity"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "J",
          "problem_id": 3603,
          "problem_name": "Journey with Pigs",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 46,
          "problem_letter": "K",
          "problem_id": 3604,
          "problem_name": "K’ak’-u-pakal and Mayan Script",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 47,
      "contest_name": "NEERC Northern Subregional 2006",
      "contest_full_name": "NEERC Northern Subregional 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 47,
          "problem_letter": "A",
          "problem_id": 3615,
          "problem_name": "Alphabet",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 47,
          "problem_letter": "B",
          "problem_id": 3616,
          "problem_name": "Bridges",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 47,
          "problem_letter": "C",
          "problem_id": 3617,
          "problem_name": "Confectionery",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 47,
          "problem_letter": "D",
          "problem_id": 3618,
          "problem_name": "Deciphering",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 47,
          "problem_letter": "E",
          "problem_id": 3619,
          "problem_name": "Equation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 47,
          "problem_letter": "F",
          "problem_id": 3620,
          "problem_name": "Feng Shui",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "half plane intersection",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "half_plane_intersection",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 47,
          "problem_letter": "G",
          "problem_id": 3621,
          "problem_name": "족보",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 47,
          "problem_letter": "H",
          "problem_id": 3622,
          "problem_name": "어떤 호박의 할로윈 여행",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 47,
          "problem_letter": "I",
          "problem_id": 3623,
          "problem_name": "상범이의 액자",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 47,
          "problem_letter": "J",
          "problem_id": 3624,
          "problem_name": "Japanese Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 47,
          "problem_letter": "K",
          "problem_id": 3625,
          "problem_name": "Kennings",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 48,
      "contest_name": "NEERC Northern Subregional 2005",
      "contest_full_name": "NEERC Northern Subregional 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 48,
          "problem_letter": "A",
          "problem_id": 3629,
          "problem_name": "Astronomy",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "arbitrary precision / big integers",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arbitrary_precision",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "B",
          "problem_id": 3630,
          "problem_name": "Bee Garden",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "geometry",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "geometry",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "C",
          "problem_id": 3631,
          "problem_name": "Cutting a Block",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "D",
          "problem_id": 3632,
          "problem_name": "Drying",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "E",
          "problem_id": 3633,
          "problem_name": "Expectation",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "probability theory",
            "linearity of expectation",
            "statistics"
          ],
          "tag_keys": [
            "math",
            "probability",
            "linearity_of_expectation",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "F",
          "problem_id": 3634,
          "problem_name": "Flip and Turn",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "G",
          "problem_id": 3635,
          "problem_name": "Godfather",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "H",
          "problem_id": 3636,
          "problem_name": "Horn Clauses",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "greedy",
            "string",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "greedy",
            "string",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "I",
          "problem_id": 3637,
          "problem_name": "Inner Vertices",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 48,
          "problem_letter": "J",
          "problem_id": 3638,
          "problem_name": "Jenny's First Exams",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 48,
          "problem_letter": "K",
          "problem_id": 3639,
          "problem_name": "K Best",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "sorting",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 49,
      "contest_name": "NWERC 2012",
      "contest_full_name": "NWERC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 49,
          "problem_letter": "A",
          "problem_id": 3640,
          "problem_name": "제독",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "B",
          "problem_id": 3641,
          "problem_name": "호프집 선택",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "C",
          "problem_id": 3642,
          "problem_name": "자전거",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 49,
          "problem_letter": "D",
          "problem_id": 3643,
          "problem_name": "디지털 시계",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "E",
          "problem_id": 3644,
          "problem_name": "그래프 매칭",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "F",
          "problem_id": 3645,
          "problem_name": "토너먼트 조작",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "graph theory",
            "constructive",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "constructive",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "G",
          "problem_id": 3646,
          "problem_name": "경비원",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 49,
          "problem_letter": "H",
          "problem_id": 3647,
          "problem_name": "흥미로운 집합",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "data structures",
            "bruteforcing",
            "number theory",
            "bitmask",
            "priority queue",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "bruteforcing",
            "number_theory",
            "bitmask",
            "priority_queue",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "I",
          "problem_id": 3648,
          "problem_name": "아이돌",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "J",
          "problem_id": 3649,
          "problem_name": "로봇 프로젝트",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "sorting",
            "binary search",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 49,
          "problem_letter": "K",
          "problem_id": 3650,
          "problem_name": "암호 해독",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "set / map",
            "combinatorics",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "set",
            "combinatorics",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 50,
      "contest_name": "NWERC 2011",
      "contest_full_name": "NWERC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 50,
          "problem_letter": "A",
          "problem_id": 3651,
          "problem_name": "이항계수",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "binary search",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "B",
          "problem_id": 3652,
          "problem_name": "새트리",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "C",
          "problem_id": 3653,
          "problem_name": "영화 수집",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "D",
          "problem_id": 3654,
          "problem_name": "L퍼즐",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "E",
          "problem_id": 3655,
          "problem_name": "먼저 가세요",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "string",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "F",
          "problem_id": 3656,
          "problem_name": "수영장 만들기",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "grid graph",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "grid_graph",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "G",
          "problem_id": 3657,
          "problem_name": "총격전",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive",
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "constructive",
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "H",
          "problem_id": 3658,
          "problem_name": "Tichu",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc",
            "backtracking",
            "bitmask",
            "dynamic programming",
            "implementation",
            "recursion"
          ],
          "tag_keys": [
            "ad_hoc",
            "backtracking",
            "bitmask",
            "dp",
            "implementation",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "I",
          "problem_id": 3659,
          "problem_name": "RFID 추적",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "set / map",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "set",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 50,
          "problem_letter": "J",
          "problem_id": 3660,
          "problem_name": "열차 지연",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bellman–ford",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bellman_ford",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 51,
      "contest_name": "NWERC 2010",
      "contest_full_name": "NWERC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 51,
          "problem_letter": "A",
          "problem_id": 3661,
          "problem_name": "생일 선물",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "B",
          "problem_id": 3662,
          "problem_name": "보석 분배",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "C",
          "problem_id": 3663,
          "problem_name": "고득점",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "D",
          "problem_id": 3664,
          "problem_name": "언덕",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "greedy",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "E",
          "problem_id": 3665,
          "problem_name": "최종 순위",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "F",
          "problem_id": 3666,
          "problem_name": "리스크",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "binary search",
            "parametric search",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "parametric_search",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "G",
          "problem_id": 3667,
          "problem_name": "Selling Land",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "H",
          "problem_id": 3668,
          "problem_name": "Stock Prices",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "I",
          "problem_id": 3669,
          "problem_name": "Telephone Network",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "bipartite graph",
            "bipartite matching",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "recursion"
          ],
          "tag_keys": [
            "ad_hoc",
            "bipartite_graph",
            "bipartite_matching",
            "dfs",
            "graphs",
            "graph_traversal",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 51,
          "problem_letter": "J",
          "problem_id": 3670,
          "problem_name": "Wormly",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "two-pointer",
            "deque"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "two_pointer",
            "deque"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        }
      ]
    },
    {
      "contest_id": 52,
      "contest_name": "NWERC 2009",
      "contest_full_name": "NWERC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 52,
          "problem_letter": "A",
          "problem_id": 3671,
          "problem_name": "산업 스파이의 편지",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "combinatorics",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "combinatorics",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "B",
          "problem_id": 3672,
          "problem_name": "Common Subexpression Elimination",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 52,
          "problem_letter": "C",
          "problem_id": 3673,
          "problem_name": "나눌 수 있는 부분 수열",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "D",
          "problem_id": 3674,
          "problem_name": "Fractal",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "recursion",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "recursion",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "E",
          "problem_id": 3675,
          "problem_name": "Mountain Road",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "F",
          "problem_id": 3676,
          "problem_name": "Moving to Nuremberg",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "G",
          "problem_id": 3677,
          "problem_name": "Room Assignments",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "H",
          "problem_id": 3678,
          "problem_name": "카탄의 개척자",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "I",
          "problem_id": 3679,
          "problem_name": "단순 다각형",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "sorting",
            "geometry",
            "convex hull",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "convex_hull",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 52,
          "problem_letter": "J",
          "problem_id": 3680,
          "problem_name": "Wormholes",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bellman–ford",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bellman_ford",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 53,
      "contest_name": "NWERC 2008",
      "contest_full_name": "NWERC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 53,
          "problem_letter": "A",
          "problem_id": 3681,
          "problem_name": "모빌",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "string",
            "ad-hoc",
            "set / map",
            "parsing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "ad_hoc",
            "set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "B",
          "problem_id": 3682,
          "problem_name": "동치 증명",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "C",
          "problem_id": 3683,
          "problem_name": "고양이와 개",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "D",
          "problem_id": 3684,
          "problem_name": "어려운 문제",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "E",
          "problem_id": 3685,
          "problem_name": "김강山",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "data structures",
            "slope trick"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "slope_trick"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "slope_trick",
              "name": "slope trick",
              "boj_tag_id": 157
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "F",
          "problem_id": 3686,
          "problem_name": "Sculpture",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "H",
          "problem_id": 3687,
          "problem_name": "성냥개비",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "I",
          "problem_id": 3688,
          "problem_name": "래프팅 디자인",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "J",
          "problem_id": 3689,
          "problem_name": "셔플",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "prefix sum",
            "sliding window",
            "two-pointer"
          ],
          "tag_keys": [
            "prefix_sum",
            "sliding_window",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 53,
          "problem_letter": "K",
          "problem_id": 3690,
          "problem_name": "Videopoker",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "mathematics",
            "bruteforcing",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 54,
      "contest_name": "NWERC 2007",
      "contest_full_name": "NWERC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 54,
          "problem_letter": "A",
          "problem_id": 3691,
          "problem_name": "컴퓨터 조립",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "binary search",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "binary_search",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "B",
          "problem_id": 3692,
          "problem_name": "펭귄들의 행진",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "C",
          "problem_id": 3693,
          "problem_name": "컨테이너",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "mathematics"
          ],
          "tag_keys": [
            "bruteforcing",
            "math"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "D",
          "problem_id": 3694,
          "problem_name": "Youth Hostel Dorm",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 54,
          "problem_letter": "E",
          "problem_id": 3695,
          "problem_name": "Escape from Enemy Territory",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "parametric search"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "F",
          "problem_id": 3696,
          "problem_name": "Flight Safety",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "binary search",
            "divide and conquer",
            "geometry",
            "line segment intersection check",
            "point in non-convex polygon check",
            "voronoi diagram"
          ],
          "tag_keys": [
            "binary_search",
            "divide_and_conquer",
            "geometry",
            "line_intersection",
            "point_in_non_convex_polygon",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "G",
          "problem_id": 3697,
          "problem_name": "정상",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "sorting",
            "breadth-first search",
            "disjoint set",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "sorting",
            "bfs",
            "disjoint_set",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "H",
          "problem_id": 3698,
          "problem_name": "애매함",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "hashing",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "hashing",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "I",
          "problem_id": 3699,
          "problem_name": "주차 빌딩",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 54,
          "problem_letter": "J",
          "problem_id": 3700,
          "problem_name": "걷기",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "sorting",
            "geometry",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        }
      ]
    },
    {
      "contest_id": 55,
      "contest_name": "NWERC 2006",
      "contest_full_name": "NWERC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 55,
          "problem_letter": "A",
          "problem_id": 3701,
          "problem_name": "스도쿠 변형",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "B",
          "problem_id": 3702,
          "problem_name": "The SetStack Computer",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bit set",
            "data structures",
            "implementation",
            "stack",
            "tree",
            "tree isomorphism"
          ],
          "tag_keys": [
            "bitset",
            "data_structures",
            "implementation",
            "stack",
            "trees",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "C",
          "problem_id": 3703,
          "problem_name": "Pie",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "D",
          "problem_id": 3704,
          "problem_name": "Ticket to Ride",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "data structures",
            "dynamic programming",
            "floyd–warshall",
            "graph theory",
            "minimum spanning tree",
            "shortest path",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "floyd_warshall",
            "graphs",
            "mst",
            "shortest_path",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "E",
          "problem_id": 2000,
          "problem_name": "책장제작",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "F",
          "problem_id": 1966,
          "problem_name": "프린터 큐",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "G",
          "problem_id": 1963,
          "problem_name": "소수 경로",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "number theory",
            "breadth-first search",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "number_theory",
            "bfs",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 55,
          "problem_letter": "H",
          "problem_id": 3705,
          "problem_name": "Lineland’s Airport",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 55,
          "problem_letter": "I",
          "problem_id": 3706,
          "problem_name": "Leonardo’s Notebook",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        }
      ]
    },
    {
      "contest_id": 56,
      "contest_name": "NWERC 2005",
      "contest_full_name": "NWERC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 56,
          "problem_letter": "A",
          "problem_id": 3707,
          "problem_name": "Unequalled Consumption",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 56,
          "problem_letter": "B",
          "problem_id": 3708,
          "problem_name": "Declaration of Content",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 56,
          "problem_letter": "C",
          "problem_id": 3709,
          "problem_name": "Laserbox",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 56,
          "problem_letter": "D",
          "problem_id": 2005,
          "problem_name": "사발",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "case work",
            "dynamic programming",
            "geometry",
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "dp",
            "geometry",
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 56,
          "problem_letter": "E",
          "problem_id": 3710,
          "problem_name": "Pesky Heroes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 56,
          "problem_letter": "F",
          "problem_id": 3711,
          "problem_name": "학번",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "set / map"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 56,
          "problem_letter": "G",
          "problem_id": 3712,
          "problem_name": "Tantrix",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 56,
          "problem_letter": "H",
          "problem_id": 3713,
          "problem_name": "당일치기",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 56,
          "problem_letter": "I",
          "problem_id": 3714,
          "problem_name": "Up the Stairs",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "binary search",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "binary_search",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 57,
      "contest_name": "SWERC 2012",
      "contest_full_name": "SWERC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 57,
          "problem_letter": "A",
          "problem_id": 3805,
          "problem_name": "벌집들",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 57,
          "problem_letter": "B",
          "problem_id": 3806,
          "problem_name": "S를 T로",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 57,
          "problem_letter": "C",
          "problem_id": 3807,
          "problem_name": "고창영 비밀번호의 비밀",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 57,
          "problem_letter": "D",
          "problem_id": 3808,
          "problem_name": "ACGU",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 57,
          "problem_letter": "E",
          "problem_id": 3809,
          "problem_name": "Old School Days",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 57,
          "problem_letter": "F",
          "problem_id": 3810,
          "problem_name": "Sentry Robots",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 57,
          "problem_letter": "G",
          "problem_id": 3811,
          "problem_name": "How do spiders walk on water?",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 57,
          "problem_letter": "H",
          "problem_id": 3812,
          "problem_name": "되팔렘",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "knapsack"
          ],
          "tag_keys": [
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 57,
          "problem_letter": "I",
          "problem_id": 3813,
          "problem_name": "The Moon of Valencia",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 57,
          "problem_letter": "J",
          "problem_id": 3814,
          "problem_name": "Countdown",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 58,
      "contest_name": "SWERC 2011",
      "contest_full_name": "SWERC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 58,
          "problem_letter": "A",
          "problem_id": 3835,
          "problem_name": "Alphabet Soup",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "burnside's lemma",
            "combinatorics",
            "knuth–morris–pratt",
            "mathematics",
            "string"
          ],
          "tag_keys": [
            "burnside",
            "combinatorics",
            "kmp",
            "math",
            "string"
          ],
          "tag_details": [
            {
              "key": "burnside",
              "name": "burnside's lemma",
              "boj_tag_id": 16
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "B",
          "problem_id": 3836,
          "problem_name": "Coin Collecting",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "graph theory",
            "matroid"
          ],
          "tag_keys": [
            "graphs",
            "matroid"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "matroid",
              "name": "matroid",
              "boj_tag_id": 104
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "C",
          "problem_id": 3837,
          "problem_name": "사이버 도넛 범죄 수사",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "segment tree",
            "sweeping",
            "offline queries"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "segtree",
            "sweeping",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "D",
          "problem_id": 3838,
          "problem_name": "Distributing Ballot Boxes",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "E",
          "problem_id": 3839,
          "problem_name": "Game, Set and Match",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "F",
          "problem_id": 3840,
          "problem_name": "Guess the Numbers",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "G",
          "problem_id": 3841,
          "problem_name": "Non-negative Partial Sums",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "deque",
            "prefix sum"
          ],
          "tag_keys": [
            "data_structures",
            "deque",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "H",
          "problem_id": 3842,
          "problem_name": "Peer Review",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "I",
          "problem_id": 3843,
          "problem_name": "볼록 정다각형",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 58,
          "problem_letter": "J",
          "problem_id": 3844,
          "problem_name": "백준 공화국",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "exponentiation by squaring",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "exponentiation_by_squaring",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        }
      ]
    },
    {
      "contest_id": 59,
      "contest_name": "SWERC 2010",
      "contest_full_name": "SWERC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 59,
          "problem_letter": "A",
          "problem_id": 3845,
          "problem_name": "잔디깎기",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 59,
          "problem_letter": "B",
          "problem_id": 3846,
          "problem_name": "Periodic points",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "case work",
            "dynamic programming",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "dp",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 59,
          "problem_letter": "C",
          "problem_id": 3847,
          "problem_name": "Comparing answers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "linear algebra",
            "randomization"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 59,
          "problem_letter": "D",
          "problem_id": 3848,
          "problem_name": "Fake scoreboard",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 59,
          "problem_letter": "E",
          "problem_id": 3849,
          "problem_name": "Palindromic DNA",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "2-sat",
            "data structures",
            "disjoint set",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "data_structures",
            "disjoint_set",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 59,
          "problem_letter": "F",
          "problem_id": 3850,
          "problem_name": "Jumping monkey",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bitmask"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 59,
          "problem_letter": "G",
          "problem_id": 3851,
          "problem_name": "Sensor network",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 59,
          "problem_letter": "H",
          "problem_id": 3852,
          "problem_name": "생산 공정",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 59,
          "problem_letter": "I",
          "problem_id": 3853,
          "problem_name": "자물쇠와 열쇠",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 59,
          "problem_letter": "J",
          "problem_id": 3854,
          "problem_name": "3-sided dice",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 60,
      "contest_name": "SWERC 2009",
      "contest_full_name": "SWERC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 60,
          "problem_letter": "A",
          "problem_id": 3855,
          "problem_name": "Trick or Treat",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "B",
          "problem_id": 3856,
          "problem_name": "Working at the Restaurant",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "C",
          "problem_id": 3857,
          "problem_name": "전구 게임",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "modular multiplicative inverse",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "modular_multiplicative_inverse",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "D",
          "problem_id": 3858,
          "problem_name": "Darts",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "binary search",
            "combinatorics",
            "parametric search",
            "game theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "binary_search",
            "combinatorics",
            "parametric_search",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "E",
          "problem_id": 3859,
          "problem_name": "Genetics",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive",
            "randomization"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "F",
          "problem_id": 3860,
          "problem_name": "할로윈 묘지",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "grid graph",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "grid_graph",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "G",
          "problem_id": 3861,
          "problem_name": "Slalom",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "H",
          "problem_id": 3862,
          "problem_name": "Routing",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "recursion"
          ],
          "tag_keys": [
            "graphs",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "I",
          "problem_id": 3863,
          "problem_name": "행복한 전화 통화",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 60,
          "problem_letter": "J",
          "problem_id": 3864,
          "problem_name": "Stammering Aliens",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "parametric search",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        }
      ]
    },
    {
      "contest_id": 61,
      "contest_name": "SWERC 2008",
      "contest_full_name": "SWERC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 61,
          "problem_letter": "A",
          "problem_id": 3815,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "B",
          "problem_id": 3816,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "C",
          "problem_id": 3817,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "D",
          "problem_id": 3818,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "E",
          "problem_id": 3819,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "F",
          "problem_id": 3820,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "G",
          "problem_id": 3821,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "H",
          "problem_id": 3822,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "I",
          "problem_id": 3823,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 61,
          "problem_letter": "J",
          "problem_id": 3824,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 114,
      "contest_name": "2012 East Central Regional Contest",
      "contest_full_name": "2012 East Central Regional Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 114,
          "problem_letter": "A",
          "problem_id": 4018,
          "problem_name": "Babs’ Box Boutique",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "bitmask"
          ],
          "tag_keys": [
            "dp",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 114,
          "problem_letter": "B",
          "problem_id": 4019,
          "problem_name": "Flash Mob",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 114,
          "problem_letter": "C",
          "problem_id": 4020,
          "problem_name": "Hexagon Perplexagon",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 114,
          "problem_letter": "D",
          "problem_id": 4021,
          "problem_name": "I’ve Got Your Back(gammon)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 114,
          "problem_letter": "E",
          "problem_id": 4022,
          "problem_name": "Parencedence!",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 114,
          "problem_letter": "F",
          "problem_id": 4023,
          "problem_name": "Road Series",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 114,
          "problem_letter": "G",
          "problem_id": 4024,
          "problem_name": "Show Me the Money",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 114,
          "problem_letter": "H",
          "problem_id": 4025,
          "problem_name": "Sofa, So Good",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 114,
          "problem_letter": "I",
          "problem_id": 4026,
          "problem_name": "Town Square",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 115,
      "contest_name": "2011 East Central Regional Contest",
      "contest_full_name": "2011 East Central Regional Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 115,
          "problem_letter": "A",
          "problem_id": 4027,
          "problem_name": "The Agency",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "greedy",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "B",
          "problem_id": 4028,
          "problem_name": "Chain of Fools",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "C",
          "problem_id": 4029,
          "problem_name": "콩도르세 역설",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "D",
          "problem_id": 4030,
          "problem_name": "포켓볼",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "binary search",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "E",
          "problem_id": 4031,
          "problem_name": "The Banzhaf Buzz-Of",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "F",
          "problem_id": 4032,
          "problem_name": "GPS I Love You",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 115,
          "problem_letter": "G",
          "problem_id": 4033,
          "problem_name": "Have You Driven a Fjord Lately?",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "dynamic programming",
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "H",
          "problem_id": 4034,
          "problem_name": "Mobile",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "tree",
            "number theory",
            "arithmetic",
            "recursion",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "trees",
            "number_theory",
            "arithmetic",
            "recursion",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 115,
          "problem_letter": "I",
          "problem_id": 4035,
          "problem_name": "Wally World",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        }
      ]
    },
    {
      "contest_id": 116,
      "contest_name": "2010 East Central Regional Contest",
      "contest_full_name": "2010 East Central Regional Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 116,
          "problem_letter": "A",
          "problem_id": 4036,
          "problem_name": "Cut It Out!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 116,
          "problem_letter": "B",
          "problem_id": 4037,
          "problem_name": "Flip It!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 116,
          "problem_letter": "C",
          "problem_id": 4038,
          "problem_name": "Maze",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 116,
          "problem_letter": "D",
          "problem_id": 4039,
          "problem_name": "Photo Shoot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 116,
          "problem_letter": "E",
          "problem_id": 4040,
          "problem_name": "Polar Bear",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 116,
          "problem_letter": "F",
          "problem_id": 4041,
          "problem_name": "Pro-Test Voting",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 116,
          "problem_letter": "G",
          "problem_id": 4042,
          "problem_name": "Vampires!",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 116,
          "problem_letter": "H",
          "problem_id": 4043,
          "problem_name": "We’ve Got Chemistry, Babe",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 117,
      "contest_name": "2009 East Central Regional Contest",
      "contest_full_name": "2009 East Central Regional Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 117,
          "problem_letter": "A",
          "problem_id": 4044,
          "problem_name": "도전 24",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 117,
          "problem_letter": "B",
          "problem_id": 4045,
          "problem_name": "Cover Up",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "backtracking",
            "combinatorics",
            "dynamic programming",
            "game theory",
            "implementation",
            "mathematics",
            "probability theory",
            "recursion",
            "simulation"
          ],
          "tag_keys": [
            "backtracking",
            "combinatorics",
            "dp",
            "game_theory",
            "implementation",
            "math",
            "probability",
            "recursion",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 117,
          "problem_letter": "C",
          "problem_id": 4046,
          "problem_name": "Decompressing in a GIF",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "string",
            "ad-hoc",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 117,
          "problem_letter": "D",
          "problem_id": 4047,
          "problem_name": "Flipper",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 117,
          "problem_letter": "E",
          "problem_id": 4048,
          "problem_name": "The Flood",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "bruteforcing",
            "flood-fill",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bruteforcing",
            "flood_fill",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 117,
          "problem_letter": "F",
          "problem_id": 4049,
          "problem_name": "행렬의 텐서곱",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "combinatorics",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "combinatorics",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 117,
          "problem_letter": "G",
          "problem_id": 4050,
          "problem_name": "Trip the Lights Fantastic",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 117,
          "problem_letter": "H",
          "problem_id": 4051,
          "problem_name": "Windows",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 118,
      "contest_name": "2008 East Central Regional Contest",
      "contest_full_name": "2008 East Central Regional Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 118,
          "problem_letter": "A",
          "problem_id": 4052,
          "problem_name": "Bordering on Madness",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 118,
          "problem_letter": "B",
          "problem_id": 4053,
          "problem_name": "Jack of All Trades",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 118,
          "problem_letter": "C",
          "problem_id": 4054,
          "problem_name": "LCR",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 118,
          "problem_letter": "D",
          "problem_id": 4055,
          "problem_name": "파티가 좋아 파티가 좋아",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 118,
          "problem_letter": "E",
          "problem_id": 4056,
          "problem_name": "스-스-스도쿠",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 118,
          "problem_letter": "F",
          "problem_id": 4057,
          "problem_name": "Tanks a Lot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 118,
          "problem_letter": "G",
          "problem_id": 4058,
          "problem_name": "The Worm Turns",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 118,
          "problem_letter": "H",
          "problem_id": 4059,
          "problem_name": "You’ll be Working on the Railroad",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 119,
      "contest_name": "2007 East Central Regional Contest",
      "contest_full_name": "2007 East Central Regional Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 119,
          "problem_letter": "A",
          "problem_id": 4060,
          "problem_name": "CIVIC DILL MIX",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 119,
          "problem_letter": "B",
          "problem_id": 4061,
          "problem_name": "A Foldy but a Goody",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 119,
          "problem_letter": "C",
          "problem_id": 4062,
          "problem_name": "Give Me an E",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 119,
          "problem_letter": "D",
          "problem_id": 4063,
          "problem_name": "Lemmings, Lemmings Everywhere. But Not For Long.",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 119,
          "problem_letter": "E",
          "problem_id": 4064,
          "problem_name": "Once Around the Lock",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "case work",
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 119,
          "problem_letter": "F",
          "problem_id": 4065,
          "problem_name": "A Puzzling Problem",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 119,
          "problem_letter": "G",
          "problem_id": 4066,
          "problem_name": "And Now, a Remainder from Our Sponsor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 119,
          "problem_letter": "H",
          "problem_id": 4067,
          "problem_name": "Target Practice",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 120,
      "contest_name": "2006 East Central Regional Contest",
      "contest_full_name": "2006 East Central Regional Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 120,
          "problem_letter": "A",
          "problem_id": 4068,
          "problem_name": "Caterpillar",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 120,
          "problem_letter": "B",
          "problem_id": 4069,
          "problem_name": "Hie with the Pie",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "shortest path",
            "backtracking",
            "floyd–warshall",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "shortest_path",
            "backtracking",
            "floyd_warshall",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 120,
          "problem_letter": "C",
          "problem_id": 4070,
          "problem_name": "Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 120,
          "problem_letter": "D",
          "problem_id": 4071,
          "problem_name": "The Mastermind Master’s Mind",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 120,
          "problem_letter": "E",
          "problem_id": 1997,
          "problem_name": "박스포장",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 120,
          "problem_letter": "F",
          "problem_id": 1870,
          "problem_name": "지붕 제작",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 120,
          "problem_letter": "G",
          "problem_id": 2039,
          "problem_name": "뱀 찾기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 120,
          "problem_letter": "H",
          "problem_id": 4073,
          "problem_name": "Stake Your Claim",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 121,
      "contest_name": "2005 East Central Regional Contest",
      "contest_full_name": "2005 East Central Regional Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 121,
          "problem_letter": "A",
          "problem_id": 4074,
          "problem_name": "약어",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 121,
          "problem_letter": "B",
          "problem_id": 4075,
          "problem_name": "Countdown",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "tree",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hash_set",
            "trees",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 121,
          "problem_letter": "C",
          "problem_id": 4076,
          "problem_name": "The Game of Efil",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 121,
          "problem_letter": "D",
          "problem_id": 1986,
          "problem_name": "체스",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 121,
          "problem_letter": "E",
          "problem_id": 4077,
          "problem_name": "Reliable Nets",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "bruteforcing",
            "articulation points and bridges"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "bruteforcing",
            "articulation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            }
          ]
        },
        {
          "contest_id": 121,
          "problem_letter": "F",
          "problem_id": 4078,
          "problem_name": "Square Count",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 121,
          "problem_letter": "G",
          "problem_id": 4079,
          "problem_name": "Swamp Things",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "data structures",
            "geometry",
            "set / map",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "geometry",
            "set",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 121,
          "problem_letter": "H",
          "problem_id": 4080,
          "problem_name": "Two Ends",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 122,
      "contest_name": "2004 East Central Regional Contest",
      "contest_full_name": "2004 East Central Regional Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 122,
          "problem_letter": "A",
          "problem_id": 2011,
          "problem_name": "암호코드",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "B",
          "problem_id": 4241,
          "problem_name": "소수 없는 수열",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "C",
          "problem_id": 4242,
          "problem_name": "Hit or Miss",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "D",
          "problem_id": 2013,
          "problem_name": "선그리기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "geometry",
            "set / map",
            "disjoint set",
            "line segment intersection check"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "set",
            "disjoint_set",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "E",
          "problem_id": 4244,
          "problem_name": "Roll Playing Games",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "F",
          "problem_id": 4245,
          "problem_name": "Team Rankings",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "G",
          "problem_id": 4246,
          "problem_name": "To and Fro",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 122,
          "problem_letter": "H",
          "problem_id": 4247,
          "problem_name": "Translations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 123,
      "contest_name": "2003 East Central Regional Contest",
      "contest_full_name": "2003 East Central Regional Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 123,
          "problem_letter": "A",
          "problem_id": 2149,
          "problem_name": "암호 해독",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "B",
          "problem_id": 2319,
          "problem_name": "문자열 복원하기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "set / map"
          ],
          "tag_keys": [
            "dp",
            "set"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "C",
          "problem_id": 4250,
          "problem_name": "EKG Sequence",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "simulation",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "simulation",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "D",
          "problem_id": 2349,
          "problem_name": "무선 통신 기지국",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "E",
          "problem_id": 2200,
          "problem_name": "계산기",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "E",
          "problem_id": 4252,
          "problem_name": "Polly Nomials",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "F",
          "problem_id": 4253,
          "problem_name": "Pushing Boxes",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "G",
          "problem_id": 1998,
          "problem_name": "이미지 압축",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "tree",
            "set / map",
            "set / map by hashing",
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "set",
            "hash_set",
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 123,
          "problem_letter": "H",
          "problem_id": 2175,
          "problem_name": "땅 자르기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        }
      ]
    },
    {
      "contest_id": 124,
      "contest_name": "2002 East Central Regional Contest",
      "contest_full_name": "2002 East Central Regional Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 124,
          "problem_letter": "A",
          "problem_id": 4254,
          "problem_name": "Ball Toss",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "B",
          "problem_id": 4255,
          "problem_name": "Galactic Breakup",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "disjoint set",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "C",
          "problem_id": 1329,
          "problem_name": "증가 수열",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "C",
          "problem_id": 2035,
          "problem_name": "증가수열",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "backtracking"
          ],
          "tag_keys": [
            "dp",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "D",
          "problem_id": 4257,
          "problem_name": "프리오더 포스트오더",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "tree",
            "combinatorics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "trees",
            "combinatorics",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "E",
          "problem_id": 4258,
          "problem_name": "Knockout Tournament",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "F",
          "problem_id": 4259,
          "problem_name": "Plugged In",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "G",
          "problem_id": 4260,
          "problem_name": "One Person “The Price is Right”",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 124,
          "problem_letter": "H",
          "problem_id": 4261,
          "problem_name": "Slots of Fun",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 125,
      "contest_name": "2012 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2012 Pacific Northwest Region Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 125,
          "problem_letter": "A",
          "problem_id": 4435,
          "problem_name": "중간계 전쟁",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "B",
          "problem_id": 4436,
          "problem_name": "엘프의 검",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "C",
          "problem_id": 4437,
          "problem_name": "Painted Cube",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "D",
          "problem_id": 4438,
          "problem_name": "팡고른 숲",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "sorting",
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "E",
          "problem_id": 4439,
          "problem_name": "Rings and Runes",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "F",
          "problem_id": 4440,
          "problem_name": "Ritual Circle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 125,
          "problem_letter": "G",
          "problem_id": 4441,
          "problem_name": "Saruman’s Level Up",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "H",
          "problem_id": 4442,
          "problem_name": "빌보의 생일",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "I",
          "problem_id": 4443,
          "problem_name": "Spellcasting",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "calculus",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "J",
          "problem_id": 4444,
          "problem_name": "Temple Build",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "K",
          "problem_id": 4445,
          "problem_name": "Tile Cut",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 125,
          "problem_letter": "L",
          "problem_id": 4446,
          "problem_name": "ROT13",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 126,
      "contest_name": "2011 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2011 Pacific Northwest Region Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 126,
          "problem_letter": "A",
          "problem_id": 4447,
          "problem_name": "좋은놈 나쁜놈",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "B",
          "problem_id": 4448,
          "problem_name": "Bracelets",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "string",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "string",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "C",
          "problem_id": 4449,
          "problem_name": "A Classic Myth: Flatland Superhero",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bruteforcing",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "D",
          "problem_id": 4450,
          "problem_name": "Collateral Cleanup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 126,
          "problem_letter": "E",
          "problem_id": 4451,
          "problem_name": "LatticeLand",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "geometry",
            "breadth-first search",
            "line segment intersection check"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "geometry",
            "bfs",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "F",
          "problem_id": 4452,
          "problem_name": "Lightning Lessons",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "G",
          "problem_id": 4453,
          "problem_name": "Locksmith",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 126,
          "problem_letter": "H",
          "problem_id": 4454,
          "problem_name": "상근이의 여자친구",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "I",
          "problem_id": 4455,
          "problem_name": "The Status is Not Quo",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "J",
          "problem_id": 4456,
          "problem_name": "Stupendous Man",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "graph theory",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "K",
          "problem_id": 4457,
          "problem_name": "상근이의 자물쇠",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 126,
          "problem_letter": "P",
          "problem_id": 4458,
          "problem_name": "첫 글자를 대문자로",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 127,
      "contest_name": "2010 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2010 Pacific Northwest Region Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 127,
          "problem_letter": "A",
          "problem_id": 4459,
          "problem_name": "Always Follow the Rules in Zombieland",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "B",
          "problem_id": 4460,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 127,
          "problem_letter": "C",
          "problem_id": 4461,
          "problem_name": "뱀파이어 김상근 백작",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "bruteforcing",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "D",
          "problem_id": 4462,
          "problem_name": "Zombie Swallows",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 127,
          "problem_letter": "E",
          "problem_id": 4463,
          "problem_name": "피보나치 수 분석",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "primality test",
            "precomputation",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "primality_test",
            "precomputation",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "F",
          "problem_id": 4464,
          "problem_name": "Pride and Prejudice and Zombies",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization",
            "pollard rho",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization",
            "pollard_rho",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "G",
          "problem_id": 4465,
          "problem_name": "Tales from DeCrypt",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "H",
          "problem_id": 4466,
          "problem_name": "A Smart Brain is a Tasty Brain",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "I",
          "problem_id": 4467,
          "problem_name": "Building Zombie Fences",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "J",
          "problem_id": 4468,
          "problem_name": "Save the Python Programmers!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 127,
          "problem_letter": "K",
          "problem_id": 4469,
          "problem_name": "Zombie Blast!",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 127,
          "problem_letter": "P",
          "problem_id": 4470,
          "problem_name": "줄번호",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 128,
      "contest_name": "2009 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2009 Pacific Northwest Region Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 128,
          "problem_letter": "A",
          "problem_id": 4471,
          "problem_name": "The Navi-Computer is Down!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "string",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "string",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "B",
          "problem_id": 4472,
          "problem_name": "Blenjeel Sand Worms and Color Wriggles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "breadth-first search",
            "bitmask",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "bitmask",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "C",
          "problem_id": 4473,
          "problem_name": "This Can’t Go On Forever",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "number theory",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "number_theory",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "D",
          "problem_id": 4474,
          "problem_name": "Rescue Beacon",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "geometry; 3d",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "E",
          "problem_id": 4475,
          "problem_name": "Let the Wookiee Win!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "F",
          "problem_id": 4476,
          "problem_name": "Laser Turret Maintenance",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "G",
          "problem_id": 4477,
          "problem_name": "George Lucas and 1138",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 128,
          "problem_letter": "H",
          "problem_id": 4478,
          "problem_name": "Spare the Ewoks!",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 128,
          "problem_letter": "I",
          "problem_id": 4479,
          "problem_name": "The History of the Sith Rulers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "J",
          "problem_id": 4480,
          "problem_name": "Laser Shot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "euclidean algorithm",
            "geometry",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "euclidean",
            "geometry",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 128,
          "problem_letter": "K",
          "problem_id": 4481,
          "problem_name": "Power Grid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 129,
      "contest_name": "2008 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2008 Pacific Northwest Region Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 129,
          "problem_letter": "A",
          "problem_id": 4482,
          "problem_name": "Tetrahedral Stacks of Cannonballs",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "B",
          "problem_id": 4483,
          "problem_name": "“Robot Roll Call – Cambot...Servo...Gypsy...Croooow”",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "C",
          "problem_id": 4484,
          "problem_name": "Cave Crisis",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "binary search",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "binary_search",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "D",
          "problem_id": 4485,
          "problem_name": "녹색 옷 입은 애가 젤다지?",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "E",
          "problem_id": 4486,
          "problem_name": "Pencils from the 19th Century",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "F",
          "problem_id": 4487,
          "problem_name": "Optimal Strategy for the ICPC",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 129,
          "problem_letter": "G",
          "problem_id": 4488,
          "problem_name": "Symbolic Logic Mechanization",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "case work",
            "data structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "data_structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "H",
          "problem_id": 4489,
          "problem_name": "Repair Depots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 129,
          "problem_letter": "I",
          "problem_id": 4490,
          "problem_name": "Crazy Circuits",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 129,
          "problem_letter": "J",
          "problem_id": 4491,
          "problem_name": "PropBot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 129,
          "problem_letter": "K",
          "problem_id": 4492,
          "problem_name": "“Ancient” Calculator",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 130,
      "contest_name": "2007 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2007 Pacific Northwest Region Programming Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 130,
          "problem_letter": "A",
          "problem_id": 4493,
          "problem_name": "가위 바위 보?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "B",
          "problem_id": 4494,
          "problem_name": "Missile Command",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "bruteforcing",
            "case work",
            "mathematics",
            "physics"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "case_work",
            "math",
            "physics"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "C",
          "problem_id": 4495,
          "problem_name": "Palindromic Primes Category in Jeopardy!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "mathematics",
            "number theory",
            "precomputation",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "bruteforcing",
            "math",
            "number_theory",
            "precomputation",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "D",
          "problem_id": 4496,
          "problem_name": "Pebbles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "string",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "string",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "E",
          "problem_id": 4497,
          "problem_name": "Rubik’s Cube®",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "F",
          "problem_id": 4498,
          "problem_name": "Geek Challenge [SKRZAT] (Base Minus Two)",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "G",
          "problem_id": 4499,
          "problem_name": "Frogger",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "grid graph",
            "0-1 bfs"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "shortest_path",
            "dijkstra",
            "grid_graph",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "H",
          "problem_id": 4500,
          "problem_name": "“Bubble Gum, Bubble Gum, in the dish, how many pieces do you wish?”",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "I",
          "problem_id": 4501,
          "problem_name": "Games R Us",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "J",
          "problem_id": 4502,
          "problem_name": "Cover Up",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 130,
          "problem_letter": "K",
          "problem_id": 4503,
          "problem_name": "구슬",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "shortest path",
            "bitmask",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bitmask",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 130,
          "problem_letter": "P",
          "problem_id": 4504,
          "problem_name": "배수 찾기",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 131,
      "contest_name": "2010 Arab Collegiate Programming Contest",
      "contest_full_name": "2010 Arab Collegiate Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 131,
          "problem_letter": "A",
          "problem_id": 4880,
          "problem_name": "다음수",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 131,
          "problem_letter": "B",
          "problem_id": 4881,
          "problem_name": "자리수의 제곱",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 131,
          "problem_letter": "C",
          "problem_id": 4882,
          "problem_name": "정규형",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "implementation",
            "stack",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "stack",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 131,
          "problem_letter": "D",
          "problem_id": 4883,
          "problem_name": "삼각 그래프",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 131,
          "problem_letter": "E",
          "problem_id": 4884,
          "problem_name": "FIFA 월드컵",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 131,
          "problem_letter": "F",
          "problem_id": 4885,
          "problem_name": "월드 오브 큐브",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 131,
          "problem_letter": "G",
          "problem_id": 4886,
          "problem_name": "나이트 이야기",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "math",
            "dp",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 131,
          "problem_letter": "H",
          "problem_id": 4887,
          "problem_name": "Jumping Beans",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 131,
          "problem_letter": "I",
          "problem_id": 4888,
          "problem_name": "문시티 건설",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        }
      ]
    },
    {
      "contest_id": 132,
      "contest_name": "2009 Arab Collegiate Programming Contest",
      "contest_full_name": "2009 Arab Collegiate Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 132,
          "problem_letter": "A",
          "problem_id": 4889,
          "problem_name": "안정적인 문자열",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "greedy",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "B",
          "problem_id": 4890,
          "problem_name": "Tiles of Tetris, NOT!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "C",
          "problem_id": 4891,
          "problem_name": "Not So Flat After All",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map by hashing",
            "mathematics",
            "number theory",
            "primality test",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "math",
            "number_theory",
            "primality_test",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "D",
          "problem_id": 4892,
          "problem_name": "숫자 맞추기 게임",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "E",
          "problem_id": 4893,
          "problem_name": "Hop — Don’t Walk!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "F",
          "problem_id": 4894,
          "problem_name": "Air Strike",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "G",
          "problem_id": 4895,
          "problem_name": "Stock Chase",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "H",
          "problem_id": 4896,
          "problem_name": "땅 나누기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 132,
          "problem_letter": "I",
          "problem_id": 4897,
          "problem_name": "Kind of a Blur",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "gaussian elimination",
            "implementation",
            "linear algebra",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "implementation",
            "linear_algebra",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 132,
          "problem_letter": "J",
          "problem_id": 4898,
          "problem_name": "National Treasures",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 133,
      "contest_name": "2008 Arab Collegiate Programming Contest",
      "contest_full_name": "2008 Arab Collegiate Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 133,
          "problem_letter": "A",
          "problem_id": 4899,
          "problem_name": "Tobo or not Tobo",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "implementation",
            "simulation",
            "set / map"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "graphs",
            "graph_traversal",
            "hash_set",
            "implementation",
            "simulation",
            "set"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "B",
          "problem_id": 4900,
          "problem_name": "7 더하기",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "C",
          "problem_id": 4901,
          "problem_name": "Match Maker",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 133,
          "problem_letter": "D",
          "problem_id": 4902,
          "problem_name": "삼각형의 값",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "E",
          "problem_id": 4903,
          "problem_name": "Relax! It’s just a game",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "F",
          "problem_id": 4904,
          "problem_name": "Einbahnstrasse",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "graph theory",
            "string",
            "set / map",
            "shortest path",
            "set / map by hashing",
            "dijkstra's",
            "parsing",
            "floyd–warshall"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "string",
            "set",
            "shortest_path",
            "hash_set",
            "dijkstra",
            "parsing",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "G",
          "problem_id": 4905,
          "problem_name": "Think I’ll Buy Me a Football Team",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "constructive",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "constructive",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "H",
          "problem_id": 4906,
          "problem_name": "Musical Chairs",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "I",
          "problem_id": 4907,
          "problem_name": "월쉬 행렬",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 133,
          "problem_letter": "J",
          "problem_id": 4908,
          "problem_name": "A Day at the Races",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 134,
      "contest_name": "2007 Arab Collegiate Programming Contest",
      "contest_full_name": "2007 Arab Collegiate Programming Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 134,
          "problem_letter": "A",
          "problem_id": 4909,
          "problem_name": "Judging Olympia",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "B",
          "problem_id": 4910,
          "problem_name": "Hide That Number",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "C",
          "problem_id": 4911,
          "problem_name": "Rotating Rings",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "D",
          "problem_id": 4912,
          "problem_name": "A Tale from the Dark Side of The Moon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "E",
          "problem_id": 4913,
          "problem_name": "페르마의 크리스마스 정리",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "prefix sum",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prefix_sum",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "F",
          "problem_id": 4914,
          "problem_name": "Incidental Points",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "data structures",
            "bruteforcing",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "bruteforcing",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "G",
          "problem_id": 4915,
          "problem_name": "Let’s Go to the Movies",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "dynamic programming",
            "dynamic programming on trees",
            "set / map by hashing",
            "tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "dp_tree",
            "hash_set",
            "trees",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "H",
          "problem_id": 4916,
          "problem_name": "The Writer's Club",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "depth-first search",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "bfs",
            "dfs",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 134,
          "problem_letter": "I",
          "problem_id": 4917,
          "problem_name": "Moving Sticks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 134,
          "problem_letter": "J",
          "problem_id": 4918,
          "problem_name": "Jonny Hates Math",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "string",
            "set / map",
            "arithmetic",
            "set / map by hashing",
            "parsing",
            "traceback"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "string",
            "set",
            "arithmetic",
            "hash_set",
            "parsing",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        }
      ]
    },
    {
      "contest_id": 135,
      "contest_name": "2006 Arab Collegiate Programming Contest",
      "contest_full_name": "2006 Arab Collegiate Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 135,
          "problem_letter": "A",
          "problem_id": 4919,
          "problem_name": "Being Smarty!",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "B",
          "problem_id": 4920,
          "problem_name": "테트리스 게임",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "C",
          "problem_id": 4921,
          "problem_name": "나무 블록",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "D",
          "problem_id": 4922,
          "problem_name": "Walk Like an Egyptian",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "E",
          "problem_id": 4923,
          "problem_name": "The Great Sahara",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "F",
          "problem_id": 4924,
          "problem_name": "정수론 싫어",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "prefix sum",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "prefix_sum",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "G",
          "problem_id": 4925,
          "problem_name": "Minimum Spanning Tree",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "data structures",
            "graph theory",
            "string",
            "set / map",
            "parsing",
            "stack",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "string",
            "set",
            "parsing",
            "stack",
            "mst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 135,
          "problem_letter": "H",
          "problem_id": 4926,
          "problem_name": "A-to-Z",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 135,
          "problem_letter": "I",
          "problem_id": 4927,
          "problem_name": "Casting Out Nines",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 136,
      "contest_name": "2005 Arab Collegiate Programming Contest",
      "contest_full_name": "2005 Arab Collegiate Programming Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 136,
          "problem_letter": "A",
          "problem_id": 4928,
          "problem_name": "The Earth is Flat!",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "B",
          "problem_id": 4929,
          "problem_name": "수열 걷기",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "C",
          "problem_id": 4930,
          "problem_name": "Alpha of Degree k",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 136,
          "problem_letter": "D",
          "problem_id": 4931,
          "problem_name": "큐 소트",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 136,
          "problem_letter": "E",
          "problem_id": 4932,
          "problem_name": "Still Johnny Can’t Add",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "F",
          "problem_id": 4933,
          "problem_name": "뉴턴의 사과",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "tree",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "G",
          "problem_id": 4934,
          "problem_name": "The Euclidian Clock",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "H",
          "problem_id": 4935,
          "problem_name": "Chop Ahoy! Revisited!",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "backtracking",
            "dynamic programming"
          ],
          "tag_keys": [
            "backtracking",
            "dp"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "I",
          "problem_id": 4936,
          "problem_name": "What’s your Logo?",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "euler characteristic (χ=v-e+f)",
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "data_structures",
            "euler_characteristic",
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 136,
          "problem_letter": "J",
          "problem_id": 4937,
          "problem_name": "It’s All About Three",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        }
      ]
    },
    {
      "contest_id": 140,
      "contest_name": "2012 Mid-Central Regional Programming Contest",
      "contest_full_name": "2012 Mid-Central Regional Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 140,
          "problem_letter": "A",
          "problem_id": 4563,
          "problem_name": "리벤지 오브 피타고라스",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 140,
          "problem_letter": "B",
          "problem_id": 4564,
          "problem_name": "숫자 카드놀이",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 140,
          "problem_letter": "C",
          "problem_id": 4565,
          "problem_name": "Any Way You Slice It",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 140,
          "problem_letter": "D",
          "problem_id": 4566,
          "problem_name": "Is the Name of This Problem",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 140,
          "problem_letter": "E",
          "problem_id": 4567,
          "problem_name": "The Mark of a Wizard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 140,
          "problem_letter": "F",
          "problem_id": 4568,
          "problem_name": "LRU Caching",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 140,
          "problem_letter": "G",
          "problem_id": 4569,
          "problem_name": "Jugglefest",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 140,
          "problem_letter": "H",
          "problem_id": 4570,
          "problem_name": "Bounce",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 141,
      "contest_name": "2011 Mid-Central Regional Programming Contest",
      "contest_full_name": "2011 Mid-Central Regional Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 141,
          "problem_letter": "A",
          "problem_id": 4571,
          "problem_name": "Grade School Multiplication",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "mathematics",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 141,
          "problem_letter": "B",
          "problem_id": 4572,
          "problem_name": "Laser Tag",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 141,
          "problem_letter": "C",
          "problem_id": 4573,
          "problem_name": "Pizza Pricing",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 141,
          "problem_letter": "D",
          "problem_id": 4574,
          "problem_name": "스도미노쿠",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 141,
          "problem_letter": "E",
          "problem_id": 4575,
          "problem_name": "Refrigerator Magnets",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 141,
          "problem_letter": "F",
          "problem_id": 4576,
          "problem_name": "Shut the Box",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 141,
          "problem_letter": "G",
          "problem_id": 4577,
          "problem_name": "소코반",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 141,
          "problem_letter": "H",
          "problem_id": 4578,
          "problem_name": "Crash and Go(relians)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 142,
      "contest_name": "2010 Mid-Central Regional Programming Contest",
      "contest_full_name": "2010 Mid-Central Regional Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 142,
          "problem_letter": "A",
          "problem_id": 4579,
          "problem_name": "Judges' Time Calculation",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 142,
          "problem_letter": "B",
          "problem_id": 4580,
          "problem_name": "Mad Scientist",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 142,
          "problem_letter": "C",
          "problem_id": 4581,
          "problem_name": "Voting",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 142,
          "problem_letter": "D",
          "problem_id": 4582,
          "problem_name": "Queen Collisions",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 142,
          "problem_letter": "E",
          "problem_id": 4583,
          "problem_name": "거울상",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 142,
          "problem_letter": "F",
          "problem_id": 4584,
          "problem_name": "Top This",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 142,
          "problem_letter": "G",
          "problem_id": 4585,
          "problem_name": "Quick Search",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 142,
          "problem_letter": "H",
          "problem_id": 4586,
          "problem_name": "Image Compression",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 142,
          "problem_letter": "I",
          "problem_id": 4587,
          "problem_name": "이집트 분수",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "number theory",
            "simulation",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "number_theory",
            "simulation",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        }
      ]
    },
    {
      "contest_id": 143,
      "contest_name": "2009 Mid-Central Regional Programming Contest",
      "contest_full_name": "2009 Mid-Central Regional Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 143,
          "problem_letter": "A",
          "problem_id": 4588,
          "problem_name": "Up and Down",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 143,
          "problem_letter": "B",
          "problem_id": 4589,
          "problem_name": "Gnome Sequencing",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 143,
          "problem_letter": "C",
          "problem_id": 4590,
          "problem_name": "DuLL",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 143,
          "problem_letter": "D",
          "problem_id": 4591,
          "problem_name": "Black Vienna",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 143,
          "problem_letter": "E",
          "problem_id": 4592,
          "problem_name": "중복을 없애자",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 143,
          "problem_letter": "F",
          "problem_id": 4593,
          "problem_name": "Rock, Paper, Scissors",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 143,
          "problem_letter": "G",
          "problem_id": 4594,
          "problem_name": "A to Z Numerals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 143,
          "problem_letter": "H",
          "problem_id": 4595,
          "problem_name": "Cell Towers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 143,
          "problem_letter": "I",
          "problem_id": 4596,
          "problem_name": "RIPOFF",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 144,
      "contest_name": "2008 Mid-Central Regional Programming Contest",
      "contest_full_name": "2008 Mid-Central Regional Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 144,
          "problem_letter": "A",
          "problem_id": 4597,
          "problem_name": "패리티",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 144,
          "problem_letter": "B",
          "problem_id": 4598,
          "problem_name": "Lampyridae Teleportae",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 144,
          "problem_letter": "C",
          "problem_id": 4599,
          "problem_name": "Hex Tile Equations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 144,
          "problem_letter": "D",
          "problem_id": 4600,
          "problem_name": "정글의 법칙",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 144,
          "problem_letter": "E",
          "problem_id": 4601,
          "problem_name": "Bulletin Board",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 144,
          "problem_letter": "F",
          "problem_id": 4602,
          "problem_name": "Serial Numbers",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation",
            "case work",
            "offline queries"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation",
            "case_work",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 144,
          "problem_letter": "G",
          "problem_id": 4603,
          "problem_name": "Line & Circle Maze",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "floyd–warshall",
            "geometry",
            "graph theory",
            "implementation",
            "line segment intersection check",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "geometry",
            "graphs",
            "implementation",
            "line_intersection",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 144,
          "problem_letter": "H",
          "problem_id": 4604,
          "problem_name": "Steganography",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 145,
      "contest_name": "2007 Mid-Central Regional Programming Contest",
      "contest_full_name": "2007 Mid-Central Regional Programming Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 145,
          "problem_letter": "A",
          "problem_id": 4605,
          "problem_name": "Typesetting",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 145,
          "problem_letter": "B",
          "problem_id": 4606,
          "problem_name": "The Seven Percent Solution",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 145,
          "problem_letter": "C",
          "problem_id": 4607,
          "problem_name": "Slink",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 145,
          "problem_letter": "D",
          "problem_id": 4608,
          "problem_name": "Persistent Bits",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bitmask",
            "implementation"
          ],
          "tag_keys": [
            "bitmask",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 145,
          "problem_letter": "E",
          "problem_id": 4609,
          "problem_name": "Here We Go(relians) Again",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dijkstra's",
            "graph theory",
            "parsing",
            "shortest path",
            "string"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "parsing",
            "shortest_path",
            "string"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 145,
          "problem_letter": "F",
          "problem_id": 4610,
          "problem_name": "Electronic Document Security",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 145,
          "problem_letter": "G",
          "problem_id": 4611,
          "problem_name": "Guard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 145,
          "problem_letter": "H",
          "problem_id": 4612,
          "problem_name": "Rock Skipping",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 146,
      "contest_name": "2006 Mid-Central Regional Programming Contest",
      "contest_full_name": "2006 Mid-Central Regional Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 146,
          "problem_letter": "A",
          "problem_id": 4613,
          "problem_name": "Quicksum",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 146,
          "problem_letter": "B",
          "problem_id": 4614,
          "problem_name": "Linear Pachinko",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "mathematics",
            "probability theory",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "probability",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 146,
          "problem_letter": "C",
          "problem_id": 1972,
          "problem_name": "놀라운 문자열",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 146,
          "problem_letter": "D",
          "problem_id": 4616,
          "problem_name": "Falling Ice",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 146,
          "problem_letter": "E",
          "problem_id": 4617,
          "problem_name": "Frugal Search",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 146,
          "problem_letter": "F",
          "problem_id": 4618,
          "problem_name": "Go Go Gorelians",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "geometry",
            "tree",
            "breadth-first search",
            "depth-first search",
            "geometry; 3d",
            "pythagoras theorem",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "geometry",
            "trees",
            "bfs",
            "dfs",
            "geometry_3d",
            "pythagoras",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 146,
          "problem_letter": "G",
          "problem_id": 4619,
          "problem_name": "루트",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 147,
      "contest_name": "2005 Mid-Central Regional Programming Contest",
      "contest_full_name": "2005 Mid-Central Regional Programming Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 147,
          "problem_letter": "A",
          "problem_id": 4620,
          "problem_name": "Pascal's Travels",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "B",
          "problem_id": 4621,
          "problem_name": "Overflowing Bookshelf",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "implementation",
            "linked list",
            "simulation"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "linked_list",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "C",
          "problem_id": 4622,
          "problem_name": "Connect",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 147,
          "problem_letter": "D",
          "problem_id": 4623,
          "problem_name": "Copier Reduction",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "E",
          "problem_id": 4624,
          "problem_name": "Time to Graduate",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "topological sorting",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "topological_sorting",
            "dag"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "F",
          "problem_id": 4625,
          "problem_name": "Painter",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "greedy",
            "bruteforcing",
            "binary search",
            "simulation",
            "priority queue",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "greedy",
            "bruteforcing",
            "binary_search",
            "simulation",
            "priority_queue",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "G",
          "problem_id": 4626,
          "problem_name": "가글",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "H",
          "problem_id": 4627,
          "problem_name": "뛰어라 도마뱀",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 147,
          "problem_letter": "I",
          "problem_id": 4628,
          "problem_name": "Netiquette",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 148,
      "contest_name": "2004 Mid-Central Regional Programming Contest",
      "contest_full_name": "2004 Mid-Central Regional Programming Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 148,
          "problem_letter": "A",
          "problem_id": 2363,
          "problem_name": "약수부분수열",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "recursion"
          ],
          "tag_keys": [
            "bruteforcing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 148,
          "problem_letter": "B",
          "problem_id": 4630,
          "problem_name": "Triangle Cuts",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 148,
          "problem_letter": "C",
          "problem_id": 4631,
          "problem_name": "Symmetric Order",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 148,
          "problem_letter": "D",
          "problem_id": 4632,
          "problem_name": "Flow Layout",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 148,
          "problem_letter": "E",
          "problem_id": 4633,
          "problem_name": "Permutation Code",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 148,
          "problem_letter": "F",
          "problem_id": 4634,
          "problem_name": "Ink Blots",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "combinatorics",
            "data structures",
            "depth-first search",
            "disjoint set",
            "geometry",
            "graph theory",
            "graph traversal",
            "line segment intersection check",
            "mathematics",
            "planar graph"
          ],
          "tag_keys": [
            "combinatorics",
            "data_structures",
            "dfs",
            "disjoint_set",
            "geometry",
            "graphs",
            "graph_traversal",
            "line_intersection",
            "math",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 148,
          "problem_letter": "G",
          "problem_id": 4635,
          "problem_name": "Speed Limit",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 149,
      "contest_name": "2003 Mid-Central Regional Programming Contest",
      "contest_full_name": "2003 Mid-Central Regional Programming Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 149,
          "problem_letter": "A",
          "problem_id": 4636,
          "problem_name": "Clay Bully",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "B",
          "problem_id": 4637,
          "problem_name": "Robots",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "C",
          "problem_id": 4638,
          "problem_name": "Bright Bracelet",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "D",
          "problem_id": 4639,
          "problem_name": "Treadmill",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "E",
          "problem_id": 4640,
          "problem_name": "Data Mining?",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "simulation",
            "breadth-first search",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "simulation",
            "bfs",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "F",
          "problem_id": 4641,
          "problem_name": "Doubles",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "G",
          "problem_id": 4642,
          "problem_name": "Fax Regions",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "data structures",
            "case work",
            "disjoint set",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "case_work",
            "disjoint_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 149,
          "problem_letter": "H",
          "problem_id": 4643,
          "problem_name": "Tournament Brackets",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 150,
      "contest_name": "2002 Mid-Central Regional Programming Contest",
      "contest_full_name": "2002 Mid-Central Regional Programming Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 150,
          "problem_letter": "A",
          "problem_id": 4644,
          "problem_name": "Programmer, Rank Thyself",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 150,
          "problem_letter": "B",
          "problem_id": 4645,
          "problem_name": "힐베르트 곡선",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "divide and conquer",
            "dynamic programming",
            "implementation",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "dp",
            "implementation",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 150,
          "problem_letter": "C",
          "problem_id": 4646,
          "problem_name": "Magnificent Meatballs",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 150,
          "problem_letter": "D",
          "problem_id": 4647,
          "problem_name": "Safecracker",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 150,
          "problem_letter": "E",
          "problem_id": 4648,
          "problem_name": "Oil Pipeline",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 150,
          "problem_letter": "F",
          "problem_id": 4649,
          "problem_name": "Tanning Salon",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "simulation",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "simulation",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 150,
          "problem_letter": "G",
          "problem_id": 4650,
          "problem_name": "Jungle Roads",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        }
      ]
    },
    {
      "contest_id": 151,
      "contest_name": "2001 Mid-Central Regional Programming Contest",
      "contest_full_name": "2001 Mid-Central Regional Programming Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 151,
          "problem_letter": "A",
          "problem_id": 4651,
          "problem_name": "Transmitters",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "sorting",
            "geometry",
            "two-pointer"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "geometry",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 151,
          "problem_letter": "B",
          "problem_id": 4652,
          "problem_name": "W's Cipher",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 151,
          "problem_letter": "C",
          "problem_id": 4653,
          "problem_name": "Split Windows",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "parsing",
            "recursion",
            "string",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "recursion",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 151,
          "problem_letter": "D",
          "problem_id": 4654,
          "problem_name": "Index Generation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 151,
          "problem_letter": "E",
          "problem_id": 4655,
          "problem_name": "Hangover",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 151,
          "problem_letter": "F",
          "problem_id": 4656,
          "problem_name": "Double Vision",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 151,
          "problem_letter": "G",
          "problem_id": 4657,
          "problem_name": "Image Perimeters",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        }
      ]
    },
    {
      "contest_id": 152,
      "contest_name": "2000 Mid-Central Regional Programming Contest",
      "contest_full_name": "2000 Mid-Central Regional Programming Contest",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 152,
          "problem_letter": "A",
          "problem_id": 4658,
          "problem_name": "삼각형 게임",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 152,
          "problem_letter": "B",
          "problem_id": 4659,
          "problem_name": "비밀번호 발음하기",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 152,
          "problem_letter": "C",
          "problem_id": 4660,
          "problem_name": "Colorville",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 152,
          "problem_letter": "D",
          "problem_id": 4661,
          "problem_name": "Falling Leaves",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 152,
          "problem_letter": "E",
          "problem_id": 4662,
          "problem_name": "Edge Detection",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "data structures",
            "greedy",
            "set / map by hashing",
            "implementation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "greedy",
            "hash_set",
            "implementation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 152,
          "problem_letter": "F",
          "problem_id": 4663,
          "problem_name": "Instruens Fabulam",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 153,
      "contest_name": "1999 Mid-Central Regional Programming Contest",
      "contest_full_name": "1999 Mid-Central Regional Programming Contest",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 153,
          "problem_letter": "A",
          "problem_id": 4664,
          "problem_name": "Find the Winning Move",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "dynamic programming",
            "game theory",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "game_theory",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 153,
          "problem_letter": "B",
          "problem_id": 4665,
          "problem_name": "Myacm Triangles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "geometry",
            "point in convex polygon check",
            "area of a polygon"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "point_in_convex_polygon",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 153,
          "problem_letter": "C",
          "problem_id": 4666,
          "problem_name": "Exchange Rates",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "euclidean algorithm",
            "graph theory",
            "graph traversal",
            "implementation",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "euclidean",
            "graphs",
            "graph_traversal",
            "implementation",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 153,
          "problem_letter": "D",
          "problem_id": 4667,
          "problem_name": "Loansome Car Buyer",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 153,
          "problem_letter": "E",
          "problem_id": 4668,
          "problem_name": "Automatic Editing",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 153,
          "problem_letter": "F",
          "problem_id": 4669,
          "problem_name": "Robot Motion",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 154,
      "contest_name": "1998 Mid-Central Regional Programming Contest",
      "contest_full_name": "1998 Mid-Central Regional Programming Contest",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 154,
          "problem_letter": "A",
          "problem_id": 4670,
          "problem_name": "Booklet Printing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 154,
          "problem_letter": "B",
          "problem_id": 4671,
          "problem_name": "Finding Rectangles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 154,
          "problem_letter": "C",
          "problem_id": 4672,
          "problem_name": "Don't Get Rooked",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 154,
          "problem_letter": "D",
          "problem_id": 4673,
          "problem_name": "셀프 넘버",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 154,
          "problem_letter": "E",
          "problem_id": 4674,
          "problem_name": "Do the Untwist",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 154,
          "problem_letter": "F",
          "problem_id": 4675,
          "problem_name": "Word Amalgamation",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 155,
      "contest_name": "1997 Mid-Central Regional Programming Contest",
      "contest_full_name": "1997 Mid-Central Regional Programming Contest",
      "contest_year": 1997,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 155,
          "problem_letter": "A",
          "problem_id": 4677,
          "problem_name": "Oil Deposits",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 155,
          "problem_letter": "B",
          "problem_id": 4679,
          "problem_name": "The Snail",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 155,
          "problem_letter": "C",
          "problem_id": 4680,
          "problem_name": "Sum It Up",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "backtracking"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "set",
            "hash_set",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 155,
          "problem_letter": "D",
          "problem_id": 4678,
          "problem_name": "Skew Binary",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 155,
          "problem_letter": "E",
          "problem_id": 4676,
          "problem_name": "Haiku Review",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 155,
          "problem_letter": "F",
          "problem_id": 4681,
          "problem_name": "WIMP",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 156,
      "contest_name": "1996 Mid-Central Regional Programming Contest",
      "contest_full_name": "1996 Mid-Central Regional Programming Contest",
      "contest_year": 1996,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 156,
          "problem_letter": "A",
          "problem_id": 4682,
          "problem_name": "Polynomial Showdown",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 156,
          "problem_letter": "B",
          "problem_id": 4683,
          "problem_name": "The Doors",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "dijkstra's",
            "dynamic programming",
            "geometry",
            "graph theory",
            "line segment intersection check",
            "shortest path"
          ],
          "tag_keys": [
            "bruteforcing",
            "dijkstra",
            "dp",
            "geometry",
            "graphs",
            "line_intersection",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 156,
          "problem_letter": "C",
          "problem_id": 4684,
          "problem_name": "Mapmaker",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 156,
          "problem_letter": "D",
          "problem_id": 4685,
          "problem_name": "Board Silly",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 156,
          "problem_letter": "E",
          "problem_id": 4686,
          "problem_name": "Equation Elation",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 156,
          "problem_letter": "F",
          "problem_id": 4687,
          "problem_name": "Wheeler Caravans",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 156,
          "problem_letter": "G",
          "problem_id": 4688,
          "problem_name": "Another Puzzling Problem",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 157,
      "contest_name": "1995 Mid-Central Regional Programming Contest",
      "contest_full_name": "1995 Mid-Central Regional Programming Contest",
      "contest_year": 1995,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 157,
          "problem_letter": "1",
          "problem_id": 4691,
          "problem_name": "DNA Translation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 157,
          "problem_letter": "2",
          "problem_id": 4690,
          "problem_name": "완전 세제곱",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 157,
          "problem_letter": "3",
          "problem_id": 4694,
          "problem_name": "A Puzzling Problem",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 157,
          "problem_letter": "4",
          "problem_id": 4692,
          "problem_name": "Galactic Import",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 157,
          "problem_letter": "5",
          "problem_id": 4689,
          "problem_name": "Basically Speaking",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 157,
          "problem_letter": "6",
          "problem_id": 4695,
          "problem_name": "Letter Sequence Analysis",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 157,
          "problem_letter": "7",
          "problem_id": 4693,
          "problem_name": "Mark-up",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 158,
      "contest_name": "2012 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2012 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 158,
          "problem_letter": "A",
          "problem_id": 4697,
          "problem_name": "Fifty Coats of Gray",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "arithmetic",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "arithmetic",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 158,
          "problem_letter": "B",
          "problem_id": 4698,
          "problem_name": "부품 테스트",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "greedy",
            "sorting",
            "binary search",
            "prefix sum",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "sorting",
            "binary_search",
            "prefix_sum",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 158,
          "problem_letter": "C",
          "problem_id": 4699,
          "problem_name": "Collision Detection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 158,
          "problem_letter": "D",
          "problem_id": 4700,
          "problem_name": "Dueling Philosophers Problem",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 158,
          "problem_letter": "E",
          "problem_id": 4701,
          "problem_name": "Party Games",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "sorting",
            "case work"
          ],
          "tag_keys": [
            "string",
            "sorting",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 158,
          "problem_letter": "F",
          "problem_id": 4702,
          "problem_name": "Funhouse",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 158,
          "problem_letter": "G",
          "problem_id": 4703,
          "problem_name": "그림의 추측",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "constructive",
            "primality test",
            "bipartite matching",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "constructive",
            "primality_test",
            "bipartite_matching",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 158,
          "problem_letter": "H",
          "problem_id": 4704,
          "problem_name": "Tsunami",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "sorting",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "sorting",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 158,
          "problem_letter": "P",
          "problem_id": 4696,
          "problem_name": "St. Ives",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 159,
      "contest_name": "2011 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2011 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 159,
          "problem_letter": "A",
          "problem_id": 4706,
          "problem_name": "쌍둥이 역설",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "arithmetic",
            "mathematics"
          ],
          "tag_keys": [
            "arithmetic",
            "math"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 159,
          "problem_letter": "B",
          "problem_id": 4707,
          "problem_name": "Raggedy, Raggedy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "C",
          "problem_id": 4708,
          "problem_name": "AAAA",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "D",
          "problem_id": 4709,
          "problem_name": "Thunk and Plunk",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "E",
          "problem_id": 4710,
          "problem_name": "Losers Are Winners",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "F",
          "problem_id": 4711,
          "problem_name": "Line of Sight",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "G",
          "problem_id": 4712,
          "problem_name": "Stained Glass",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "H",
          "problem_id": 4713,
          "problem_name": "Road Rally",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 159,
          "problem_letter": "P",
          "problem_id": 4705,
          "problem_name": "Roaming Romans",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 160,
      "contest_name": "2010 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2010 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 160,
          "problem_letter": "A",
          "problem_id": 4096,
          "problem_name": "팰린드로미터",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "B",
          "problem_id": 4716,
          "problem_name": "풍선",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "C",
          "problem_id": 4717,
          "problem_name": "Selling Cells",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "geometry",
            "randomization"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "D",
          "problem_id": 4718,
          "problem_name": "Not One Bit More",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "E",
          "problem_id": 4719,
          "problem_name": "Abstract Extract",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "F",
          "problem_id": 4720,
          "problem_name": "Roller Coaster",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "G",
          "problem_id": 4721,
          "problem_name": "Spy Cam",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "H",
          "problem_id": 4722,
          "problem_name": "Underground Cables",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 160,
          "problem_letter": "P",
          "problem_id": 4714,
          "problem_name": "Lunacy",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 161,
      "contest_name": "2009 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2009 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 161,
          "problem_letter": "A",
          "problem_id": 4105,
          "problem_name": "유클리드",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 161,
          "problem_letter": "B",
          "problem_id": 4104,
          "problem_name": "Block Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 161,
          "problem_letter": "C",
          "problem_id": 4723,
          "problem_name": "Parlay Wagering",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics",
            "string"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math",
            "string"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 161,
          "problem_letter": "D",
          "problem_id": 4109,
          "problem_name": "The Ninja Way",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "shortest path",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 161,
          "problem_letter": "E",
          "problem_id": 4724,
          "problem_name": "Extended Manhattan Distance",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bruteforcing",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 161,
          "problem_letter": "F",
          "problem_id": 4110,
          "problem_name": "당구대",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 161,
          "problem_letter": "G",
          "problem_id": 4725,
          "problem_name": "Stringer",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "combinatorics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "combinatorics",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 161,
          "problem_letter": "H",
          "problem_id": 4726,
          "problem_name": "Word ladder",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "string",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        }
      ]
    },
    {
      "contest_id": 162,
      "contest_name": "2008 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2008 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 162,
          "problem_letter": "A",
          "problem_id": 4727,
          "problem_name": "Close Enough Computations",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 162,
          "problem_letter": "B",
          "problem_id": 4728,
          "problem_name": "I-Soar",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "priority queue",
            "sorting",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue",
            "sorting",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 162,
          "problem_letter": "C",
          "problem_id": 4729,
          "problem_name": "Trie, Again Trie",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 162,
          "problem_letter": "D",
          "problem_id": 4115,
          "problem_name": "Lawrence of Arabia",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 162,
          "problem_letter": "E",
          "problem_id": 4113,
          "problem_name": "Series / Parallel Resistor Circuits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "simulation",
            "physics"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "simulation",
            "physics"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 162,
          "problem_letter": "F",
          "problem_id": 4117,
          "problem_name": "Combination Lock",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 162,
          "problem_letter": "G",
          "problem_id": 4730,
          "problem_name": "Stems Sell",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 162,
          "problem_letter": "H",
          "problem_id": 4731,
          "problem_name": "Signal Strength",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 163,
      "contest_name": "2007 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2007 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 163,
          "problem_letter": "A",
          "problem_id": 4732,
          "problem_name": "조옮김",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 163,
          "problem_letter": "B",
          "problem_id": 4733,
          "problem_name": "Mobiles Alabama",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 163,
          "problem_letter": "C",
          "problem_id": 4734,
          "problem_name": "Out of Sight",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 163,
          "problem_letter": "D",
          "problem_id": 4735,
          "problem_name": "Witness Redaction Plan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 163,
          "problem_letter": "E",
          "problem_id": 4736,
          "problem_name": "Safety in Alchemy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 163,
          "problem_letter": "F",
          "problem_id": 4737,
          "problem_name": "Potholes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 163,
          "problem_letter": "G",
          "problem_id": 4738,
          "problem_name": "Bulls and Cows",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 163,
          "problem_letter": "H",
          "problem_id": 4739,
          "problem_name": "The Turn of the Shrew",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 164,
      "contest_name": "2006 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2006 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 164,
          "problem_letter": "A",
          "problem_id": 1849,
          "problem_name": "순열",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 164,
          "problem_letter": "B",
          "problem_id": 4742,
          "problem_name": "Crosswords Insider",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 164,
          "problem_letter": "C",
          "problem_id": 4743,
          "problem_name": "Doors and Penguins",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "convex hull",
            "geometry",
            "line segment intersection check",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry",
            "line_intersection",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 164,
          "problem_letter": "D",
          "problem_id": 4744,
          "problem_name": "Gypsy Moths",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "geometry",
            "two-pointer"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 164,
          "problem_letter": "E",
          "problem_id": 4745,
          "problem_name": "Marbles in Three Baskets",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 164,
          "problem_letter": "F",
          "problem_id": 4746,
          "problem_name": "Generic Units Conversion",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 164,
          "problem_letter": "G",
          "problem_id": 4747,
          "problem_name": "Zoned Out",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 164,
          "problem_letter": "H",
          "problem_id": 4748,
          "problem_name": "Shrew-ology",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "bruteforcing",
            "sorting",
            "case work"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "sorting",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 164,
          "problem_letter": "P",
          "problem_id": 4740,
          "problem_name": "거울, 오! 거울",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 165,
      "contest_name": "2005 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2005 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 165,
          "problem_letter": "A",
          "problem_id": 4749,
          "problem_name": "Take Your Vitamins",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 165,
          "problem_letter": "B",
          "problem_id": 4750,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 165,
          "problem_letter": "C",
          "problem_id": 4751,
          "problem_name": "Extrusion",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 165,
          "problem_letter": "D",
          "problem_id": 4752,
          "problem_name": "HTML 에디터",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "parsing",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "parsing",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 165,
          "problem_letter": "E",
          "problem_id": 4753,
          "problem_name": "Mobiles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 165,
          "problem_letter": "F",
          "problem_id": 4754,
          "problem_name": "Context-Free Clock",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 165,
          "problem_letter": "G",
          "problem_id": 4755,
          "problem_name": "Right-Hand Rule",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 165,
          "problem_letter": "H",
          "problem_id": 4756,
          "problem_name": "WordStack",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "bitmask",
            "bruteforcing",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "bruteforcing",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        }
      ]
    },
    {
      "contest_id": 166,
      "contest_name": "2004 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2004 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 166,
          "problem_letter": "A",
          "problem_id": 4758,
          "problem_name": "Filling Out the Team",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 166,
          "problem_letter": "B",
          "problem_id": 4759,
          "problem_name": "Auctions R Us",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 166,
          "problem_letter": "C",
          "problem_id": 4760,
          "problem_name": "GHOST",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 166,
          "problem_letter": "D",
          "problem_id": 4761,
          "problem_name": "Doggone Moles",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 166,
          "problem_letter": "E",
          "problem_id": 4762,
          "problem_name": "Line of Sight",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 166,
          "problem_letter": "F",
          "problem_id": 4763,
          "problem_name": "Tangled in Cables",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "data structures",
            "set / map",
            "set / map by hashing",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "set",
            "hash_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 166,
          "problem_letter": "G",
          "problem_id": 4764,
          "problem_name": "All Roads Lead to Albuquerque, er, Rome",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 166,
          "problem_letter": "H",
          "problem_id": 4765,
          "problem_name": "Balanced Budget Initiative",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 166,
          "problem_letter": "P",
          "problem_id": 4757,
          "problem_name": "A Contesting Decision",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 167,
      "contest_name": "2003 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2003 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 167,
          "problem_letter": "A",
          "problem_id": 4757,
          "problem_name": "A Contesting Decision",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 167,
          "problem_letter": "B",
          "problem_id": 4767,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 167,
          "problem_letter": "C",
          "problem_id": 4768,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 167,
          "problem_letter": "D",
          "problem_id": 4769,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 167,
          "problem_letter": "E",
          "problem_id": 4770,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 167,
          "problem_letter": "F",
          "problem_id": 4771,
          "problem_name": "아름다운 삼각형",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 167,
          "problem_letter": "G",
          "problem_id": 4772,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 167,
          "problem_letter": "H",
          "problem_id": 4773,
          "problem_name": "Reverse Roman Notation",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "simulation",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "simulation",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 167,
          "problem_letter": "P",
          "problem_id": 4766,
          "problem_name": "일반 화학 실험",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 168,
      "contest_name": "2002 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2002 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 168,
          "problem_letter": "A",
          "problem_id": 4766,
          "problem_name": "일반 화학 실험",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 168,
          "problem_letter": "C",
          "problem_id": 4775,
          "problem_name": "Spelling Be",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 168,
          "problem_letter": "D",
          "problem_id": 4776,
          "problem_name": "Apply a Cold Compress",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "euclidean algorithm",
            "implementation",
            "mathematics",
            "number theory",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "euclidean",
            "implementation",
            "math",
            "number_theory",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 168,
          "problem_letter": "E",
          "problem_id": 4777,
          "problem_name": "A Baron Landscape",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 168,
          "problem_letter": "F",
          "problem_id": 4778,
          "problem_name": "In Defence of a Garden",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "flood-fill",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "flood_fill",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 168,
          "problem_letter": "G",
          "problem_id": 4779,
          "problem_name": "칸토어 집합",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 168,
          "problem_letter": "H",
          "problem_id": 4780,
          "problem_name": "Chambers Ceramic Conundrum",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 168,
          "problem_letter": "P",
          "problem_id": 4774,
          "problem_name": "Financial Management",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 169,
      "contest_name": "2011 South Central USA  Regional Programming Contest",
      "contest_full_name": "2011 South Central USA  Regional Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 169,
          "problem_letter": "1",
          "problem_id": 4812,
          "problem_name": "Robot Navigation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 169,
          "problem_letter": "2",
          "problem_id": 4506,
          "problem_name": "All Your Base",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "arbitrary precision / big integers",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 169,
          "problem_letter": "3",
          "problem_id": 4507,
          "problem_name": "단어와 주기율표",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 169,
          "problem_letter": "4",
          "problem_id": 4508,
          "problem_name": "This is Halloween: Saving Money",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "string",
            "geometry",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "geometry",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 169,
          "problem_letter": "5",
          "problem_id": 4509,
          "problem_name": "Coffin Tiles",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 169,
          "problem_letter": "6",
          "problem_id": 4510,
          "problem_name": "Thinking Inside the Box",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 169,
          "problem_letter": "7",
          "problem_id": 4511,
          "problem_name": "Lightbulb Testing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 169,
          "problem_letter": "8",
          "problem_id": 4512,
          "problem_name": "Operation: Merchant Boorinei",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 170,
      "contest_name": "2009 South Central USA  Regional Programming Contest",
      "contest_full_name": "2009 South Central USA  Regional Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 170,
          "problem_letter": "1",
          "problem_id": 4513,
          "problem_name": "The Neptune Adventure",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 170,
          "problem_letter": "2",
          "problem_id": 4514,
          "problem_name": "Phil In the Blanks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 170,
          "problem_letter": "3",
          "problem_id": 4515,
          "problem_name": "Honeycomb, Honeycomb, Me Want Honeycomb!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 170,
          "problem_letter": "4",
          "problem_id": 4516,
          "problem_name": "YO!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 170,
          "problem_letter": "5",
          "problem_id": 4517,
          "problem_name": "Barcode of Judgment",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 170,
          "problem_letter": "6",
          "problem_id": 4518,
          "problem_name": "Frenemies",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 170,
          "problem_letter": "7",
          "problem_id": 4519,
          "problem_name": "Know When to Hold Them",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 170,
          "problem_letter": "8",
          "problem_id": 4520,
          "problem_name": "I'm Attacking the Darkness!",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 171,
      "contest_name": "2008 South Central USA  Regional Programming Contest",
      "contest_full_name": "2008 South Central USA  Regional Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 171,
          "problem_letter": "1",
          "problem_id": 4521,
          "problem_name": "Rank and File",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 171,
          "problem_letter": "2",
          "problem_id": 4522,
          "problem_name": "The Extent of the Problem",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 171,
          "problem_letter": "3",
          "problem_id": 4523,
          "problem_name": "Filtration",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 171,
          "problem_letter": "4",
          "problem_id": 4524,
          "problem_name": "Like Water for Clay",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 171,
          "problem_letter": "5",
          "problem_id": 4525,
          "problem_name": "Wandering Aimlessly",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 171,
          "problem_letter": "6",
          "problem_id": 4526,
          "problem_name": "Cables ... in Spaaace!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "geometry",
            "minimum spanning tree",
            "geometry; 3d"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "mst",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 171,
          "problem_letter": "7",
          "problem_id": 4527,
          "problem_name": "Patterns and Pictures",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 171,
          "problem_letter": "8",
          "problem_id": 4528,
          "problem_name": "No Wormholes Were Harmed...",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 171,
          "problem_letter": "9",
          "problem_id": 4529,
          "problem_name": "Tribute (Editor)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 172,
      "contest_name": "2007 South Central USA  Regional Programming Contest",
      "contest_full_name": "2007 South Central USA  Regional Programming Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 172,
          "problem_letter": "1",
          "problem_id": 4530,
          "problem_name": "1은 흥미로운 숫자",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 172,
          "problem_letter": "2",
          "problem_id": 4531,
          "problem_name": "Verdis Quo",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 172,
          "problem_letter": "3",
          "problem_id": 4532,
          "problem_name": "The Screen Behind the Mirror",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 172,
          "problem_letter": "4",
          "problem_id": 4533,
          "problem_name": "Another Brick in the Wall",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dijkstra's",
            "planar graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dijkstra",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 172,
          "problem_letter": "5",
          "problem_id": 4534,
          "problem_name": "The Sidewinder Sleeps Tonite",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 172,
          "problem_letter": "6",
          "problem_id": 4535,
          "problem_name": "Rout 66",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 172,
          "problem_letter": "7",
          "problem_id": 4536,
          "problem_name": "Schottkey 7th Path",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 172,
          "problem_letter": "8",
          "problem_id": 4537,
          "problem_name": "Another Version of the Truth",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 172,
          "problem_letter": "9",
          "problem_id": 4538,
          "problem_name": "The Final Countdown",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 173,
      "contest_name": "2006 South Central USA  Regional Programming Contest",
      "contest_full_name": "2006 South Central USA  Regional Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 173,
          "problem_letter": "1",
          "problem_id": 4539,
          "problem_name": "반올림",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 173,
          "problem_letter": "2",
          "problem_id": 4540,
          "problem_name": "Q",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 173,
          "problem_letter": "3",
          "problem_id": 4541,
          "problem_name": "Enigmatologically Cruciverbalistic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 173,
          "problem_letter": "4",
          "problem_id": 4542,
          "problem_name": "Blue Jeans",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 173,
          "problem_letter": "5",
          "problem_id": 4543,
          "problem_name": "Core Wars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 173,
          "problem_letter": "6",
          "problem_id": 4544,
          "problem_name": "'Roid Rage",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 173,
          "problem_letter": "7",
          "problem_id": 4545,
          "problem_name": "Children of the Candy Corn",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 173,
          "problem_letter": "8",
          "problem_id": 4546,
          "problem_name": "Panic Room",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        }
      ]
    },
    {
      "contest_id": 174,
      "contest_name": "2005 South Central USA  Regional Programming Contest",
      "contest_full_name": "2005 South Central USA  Regional Programming Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 174,
          "problem_letter": "1",
          "problem_id": 4547,
          "problem_name": "Plinko",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 174,
          "problem_letter": "2",
          "problem_id": 4548,
          "problem_name": "Defining Moment",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "case work"
          ],
          "tag_keys": [
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 174,
          "problem_letter": "3",
          "problem_id": 4549,
          "problem_name": "Jetpack Sniper 3000 Fragfest Extreme",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 174,
          "problem_letter": "4",
          "problem_id": 4550,
          "problem_name": "Pegs",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "data structures",
            "dynamic programming"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 174,
          "problem_letter": "5",
          "problem_id": 4551,
          "problem_name": "Janken Tactics",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 174,
          "problem_letter": "6",
          "problem_id": 4552,
          "problem_name": "Bingo!",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 174,
          "problem_letter": "7",
          "problem_id": 4553,
          "problem_name": "Artificial Strife",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 174,
          "problem_letter": "8",
          "problem_id": 4554,
          "problem_name": "It's My Derivative",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "calculus",
            "case work",
            "implementation",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "calculus",
            "case_work",
            "implementation",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 175,
      "contest_name": "2004 South Central USA Regional Programming Contest",
      "contest_full_name": "2004 South Central USA Regional Programming Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 175,
          "problem_letter": "1",
          "problem_id": 4555,
          "problem_name": "MisLED",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "bitmask",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "bitmask",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 175,
          "problem_letter": "2",
          "problem_id": 4556,
          "problem_name": "Relative Relatives",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "data structures",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "dfs",
            "graphs",
            "graph_traversal",
            "hash_set",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 175,
          "problem_letter": "3",
          "problem_id": 4557,
          "problem_name": "Syntax Included",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "parsing",
            "regular expression",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "parsing",
            "regex",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 175,
          "problem_letter": "4",
          "problem_id": 4558,
          "problem_name": "Choose Your Own Adventure",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 175,
          "problem_letter": "5",
          "problem_id": 4559,
          "problem_name": "Know When to Hold 'em",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 175,
          "problem_letter": "6",
          "problem_id": 4560,
          "problem_name": "Cubic Rube",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 175,
          "problem_letter": "7",
          "problem_id": 4561,
          "problem_name": "As the Crow Flies",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "graph theory",
            "geometry",
            "tree",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "geometry",
            "trees",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 175,
          "problem_letter": "8",
          "problem_id": 4562,
          "problem_name": "No Brainer",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 176,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2012 Southeast USA Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 176,
          "problem_letter": "A",
          "problem_id": 4781,
          "problem_name": "사탕 가게",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 176,
          "problem_letter": "B",
          "problem_id": 4699,
          "problem_name": "Collision Detection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 176,
          "problem_letter": "C",
          "problem_id": 4698,
          "problem_name": "부품 테스트",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "greedy",
            "sorting",
            "binary search",
            "prefix sum",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "sorting",
            "binary_search",
            "prefix_sum",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 176,
          "problem_letter": "D",
          "problem_id": 4782,
          "problem_name": "분수 뺄셈",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 176,
          "problem_letter": "E",
          "problem_id": 4702,
          "problem_name": "Funhouse",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 176,
          "problem_letter": "F",
          "problem_id": 4703,
          "problem_name": "그림의 추측",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "constructive",
            "primality test",
            "bipartite matching",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "constructive",
            "primality_test",
            "bipartite_matching",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 176,
          "problem_letter": "G",
          "problem_id": 4783,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 176,
          "problem_letter": "H",
          "problem_id": 4704,
          "problem_name": "Tsunami",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "sorting",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "sorting",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 176,
          "problem_letter": "I",
          "problem_id": 4784,
          "problem_name": "Unhappy Numbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 176,
          "problem_letter": "J",
          "problem_id": 4785,
          "problem_name": "Walls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 177,
      "contest_name": "2011 Southeast USA Regional Programming Contest",
      "contest_full_name": "2011 Southeast USA Regional Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 177,
          "problem_letter": "A",
          "problem_id": 4081,
          "problem_name": "Sunday Drive",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 177,
          "problem_letter": "B",
          "problem_id": 4082,
          "problem_name": "Hexagram",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 177,
          "problem_letter": "C",
          "problem_id": 4083,
          "problem_name": "직사각형 만들기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking",
            "precomputation",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking",
            "precomputation",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 177,
          "problem_letter": "D",
          "problem_id": 4084,
          "problem_name": "Viva la Diferencia",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 177,
          "problem_letter": "E",
          "problem_id": 4085,
          "problem_name": "Robot Navigation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 177,
          "problem_letter": "F",
          "problem_id": 4086,
          "problem_name": "Folding Game",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 177,
          "problem_letter": "G",
          "problem_id": 4087,
          "problem_name": "Burnout",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 177,
          "problem_letter": "H",
          "problem_id": 4088,
          "problem_name": "Family Fortune",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "recursion",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "recursion",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 177,
          "problem_letter": "I",
          "problem_id": 4089,
          "problem_name": "Moving Points",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 177,
          "problem_letter": "J",
          "problem_id": 4090,
          "problem_name": "뱀파이어 숫자",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "binary search",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "binary_search",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        }
      ]
    },
    {
      "contest_id": 178,
      "contest_name": "2010 Southeast USA Regional Programming Contest",
      "contest_full_name": "2010 Southeast USA Regional Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 178,
          "problem_letter": "A",
          "problem_id": 4091,
          "problem_name": "Balloons",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "B",
          "problem_id": 4092,
          "problem_name": "비트 개수 세기",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "C",
          "problem_id": 4093,
          "problem_name": "Data Recovery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 178,
          "problem_letter": "D",
          "problem_id": 4094,
          "problem_name": "Equal Angles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "E",
          "problem_id": 4095,
          "problem_name": "최대 정사각형",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "F",
          "problem_id": 4096,
          "problem_name": "팰린드로미터",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "G",
          "problem_id": 4097,
          "problem_name": "수익",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming",
            "maximum subarray"
          ],
          "tag_keys": [
            "dp",
            "maximum_subarray"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "maximum_subarray",
              "name": "maximum subarray",
              "boj_tag_id": 234
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "H",
          "problem_id": 4098,
          "problem_name": "Roller Coaster",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "I",
          "problem_id": 4099,
          "problem_name": "Skyline",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 178,
          "problem_letter": "J",
          "problem_id": 4100,
          "problem_name": "Underground Cables",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "geometry",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        }
      ]
    },
    {
      "contest_id": 179,
      "contest_name": "2009 Southeast USA Regional Programming Contest",
      "contest_full_name": "2009 Southeast USA Regional Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 179,
          "problem_letter": "A",
          "problem_id": 4104,
          "problem_name": "Block Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 179,
          "problem_letter": "B",
          "problem_id": 4105,
          "problem_name": "유클리드",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "C",
          "problem_id": 4106,
          "problem_name": "Museum Guards",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "D",
          "problem_id": 4107,
          "problem_name": "Knitting",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "E",
          "problem_id": 4108,
          "problem_name": "지뢰찾기",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "F",
          "problem_id": 4109,
          "problem_name": "The Ninja Way",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "shortest path",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "G",
          "problem_id": 4110,
          "problem_name": "당구대",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "H",
          "problem_id": 4111,
          "problem_name": "Robot Challenge",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "I",
          "problem_id": 4112,
          "problem_name": "Mosaic",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "precomputation"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "PA",
          "problem_id": 4101,
          "problem_name": "크냐?",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 179,
          "problem_letter": "PB",
          "problem_id": 4102,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 179,
          "problem_letter": "PC",
          "problem_id": 4103,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 180,
      "contest_name": "2008 Southeast USA Regional Programming Contest",
      "contest_full_name": "2008 Southeast USA Regional Programming Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 180,
          "problem_letter": "A",
          "problem_id": 4113,
          "problem_name": "Series / Parallel Resistor Circuits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "simulation",
            "physics"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "simulation",
            "physics"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "B",
          "problem_id": 4114,
          "problem_name": "The Heart of the Country",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "C",
          "problem_id": 4115,
          "problem_name": "Lawrence of Arabia",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "D",
          "problem_id": 4116,
          "problem_name": "Shoring Up the Levees",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "line segment intersection check",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "E",
          "problem_id": 4117,
          "problem_name": "Combination Lock",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "F",
          "problem_id": 4118,
          "problem_name": "Fred’s Lotto Tickets",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "G",
          "problem_id": 4119,
          "problem_name": "A No-Win Situation",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy",
            "string",
            "bruteforcing",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string",
            "bruteforcing",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "H",
          "problem_id": 4120,
          "problem_name": "A Walk in the Park",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "sorting",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "I",
          "problem_id": 4121,
          "problem_name": "Teleport Out!",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "breadth-first search",
            "binary search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "binary_search",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 180,
          "problem_letter": "J",
          "problem_id": 4122,
          "problem_name": "Worms",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 181,
      "contest_name": "2012 Rocky Mountain Regional Contest",
      "contest_full_name": "2012 Rocky Mountain Regional Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 181,
          "problem_letter": "A",
          "problem_id": 4796,
          "problem_name": "캠핑",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "B",
          "problem_id": 4797,
          "problem_name": "화학",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "C",
          "problem_id": 4798,
          "problem_name": "등차수열에 관한 디리클레의 정리",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "extended euclidean algorithm",
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "extended_euclidean",
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "D",
          "problem_id": 4799,
          "problem_name": "Fuel Stops",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "E",
          "problem_id": 4800,
          "problem_name": "대충 정렬",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "bit set",
            "bruteforcing",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "bitset",
            "bruteforcing",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "F",
          "problem_id": 4801,
          "problem_name": "Nine",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "case work",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "G",
          "problem_id": 4802,
          "problem_name": "함수 오버로딩",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "dynamic programming",
            "dynamic programming on trees",
            "implementation",
            "parsing",
            "string",
            "tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "dp",
            "dp_tree",
            "implementation",
            "parsing",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "H",
          "problem_id": 4803,
          "problem_name": "트리",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "I",
          "problem_id": 4804,
          "problem_name": "Catching Shade in Flatland",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 181,
          "problem_letter": "J",
          "problem_id": 4805,
          "problem_name": "Emergency Room",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 181,
          "problem_letter": "P",
          "problem_id": 4806,
          "problem_name": "줄 세기",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 182,
      "contest_name": "2011 Rocky Mountain Regional Contest",
      "contest_full_name": "2011 Rocky Mountain Regional Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 182,
          "problem_letter": "A",
          "problem_id": 4807,
          "problem_name": "Iterated Difference",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "B",
          "problem_id": 4808,
          "problem_name": "Shape Number",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "hashing",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "hashing",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "C",
          "problem_id": 4809,
          "problem_name": "Stock Prices",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "D",
          "problem_id": 4810,
          "problem_name": "Contour Tracing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "E",
          "problem_id": 4811,
          "problem_name": "알약",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "F",
          "problem_id": 4812,
          "problem_name": "Robot Navigation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "G",
          "problem_id": 4813,
          "problem_name": "User Names",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "H",
          "problem_id": 4814,
          "problem_name": "Citizenship Application",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "case work",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "I",
          "problem_id": 4815,
          "problem_name": "Wealthy Family",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 182,
          "problem_letter": "J",
          "problem_id": 4816,
          "problem_name": "Supply Mission",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "physics"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        }
      ]
    },
    {
      "contest_id": 183,
      "contest_name": "2010 Rocky Mountain Regional Contest",
      "contest_full_name": "2010 Rocky Mountain Regional Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 183,
          "problem_letter": "A",
          "problem_id": 4817,
          "problem_name": "괄호",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "B",
          "problem_id": 4818,
          "problem_name": "Ropes",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "C",
          "problem_id": 4819,
          "problem_name": "Chain Code",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "pick's theorem"
          ],
          "tag_keys": [
            "geometry",
            "pick"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pick",
              "name": "pick's theorem",
              "boj_tag_id": 187
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "D",
          "problem_id": 4820,
          "problem_name": "Task",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "string",
            "shortest path",
            "parsing",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "shortest_path",
            "parsing",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "E",
          "problem_id": 4821,
          "problem_name": "페이지 세기",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "F",
          "problem_id": 4822,
          "problem_name": "축구",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "implementation",
            "sorting",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "data_structures",
            "hash_set",
            "implementation",
            "sorting",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "G",
          "problem_id": 4823,
          "problem_name": "Railroad",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 183,
          "problem_letter": "H",
          "problem_id": 4824,
          "problem_name": "Post Office",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 183,
          "problem_letter": "I",
          "problem_id": 4825,
          "problem_name": "Aronson",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 184,
      "contest_name": "2009 Rocky Mountain Regional Contest",
      "contest_full_name": "2009 Rocky Mountain Regional Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 184,
          "problem_letter": "A",
          "problem_id": 4826,
          "problem_name": "Range",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 184,
          "problem_letter": "B",
          "problem_id": 4827,
          "problem_name": "Coverage",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 184,
          "problem_letter": "C",
          "problem_id": 4828,
          "problem_name": "XML",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "parsing",
            "stack",
            "regular expression"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "parsing",
            "stack",
            "regex"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 184,
          "problem_letter": "D",
          "problem_id": 4829,
          "problem_name": "Clickomania",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 184,
          "problem_letter": "E",
          "problem_id": 4830,
          "problem_name": "Balance",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 184,
          "problem_letter": "F",
          "problem_id": 4831,
          "problem_name": "Resistors",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "parsing",
            "stack",
            "physics"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "parsing",
            "stack",
            "physics"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 184,
          "problem_letter": "G",
          "problem_id": 4832,
          "problem_name": "Shuffling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 184,
          "problem_letter": "H",
          "problem_id": 4833,
          "problem_name": "Papa",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 184,
          "problem_letter": "I",
          "problem_id": 4834,
          "problem_name": "Wax",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 185,
      "contest_name": "2008 Rocky Mountain Regional Contest",
      "contest_full_name": "2008 Rocky Mountain Regional Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 185,
          "problem_letter": "A",
          "problem_id": 4117,
          "problem_name": "Combination Lock",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "B",
          "problem_id": 4115,
          "problem_name": "Lawrence of Arabia",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "C",
          "problem_id": 4727,
          "problem_name": "Close Enough Computations",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "D",
          "problem_id": 4835,
          "problem_name": "Walk in the Park",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "precomputation",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "precomputation",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "E",
          "problem_id": 4836,
          "problem_name": "춤",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "F",
          "problem_id": 4837,
          "problem_name": "Trucking",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "parametric search"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "G",
          "problem_id": 4838,
          "problem_name": "When",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "H",
          "problem_id": 4839,
          "problem_name": "소진법",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 185,
          "problem_letter": "R",
          "problem_id": 4998,
          "problem_name": "저금",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 186,
      "contest_name": "2007 Rocky Mountain Regional Contest",
      "contest_full_name": "2007 Rocky Mountain Regional Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 186,
          "problem_letter": "A",
          "problem_id": 4840,
          "problem_name": "Tree Grafting",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "depth-first search",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "B",
          "problem_id": 4841,
          "problem_name": "Look and Say",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "C",
          "problem_id": 4842,
          "problem_name": "Server Relocation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "D",
          "problem_id": 4843,
          "problem_name": "Coin Toss",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "E",
          "problem_id": 4844,
          "problem_name": "Vacation Rentals",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "0-1 bfs",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "0_1_bfs",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "F",
          "problem_id": 4845,
          "problem_name": "Baseball",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "G",
          "problem_id": 4846,
          "problem_name": "Team Work",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "H",
          "problem_id": 4847,
          "problem_name": "Wavelet Compression",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 186,
          "problem_letter": "I",
          "problem_id": 4848,
          "problem_name": "집합 숫자 표기법",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "string",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 187,
      "contest_name": "2006 Rocky Mountain Regional Contest",
      "contest_full_name": "2006 Rocky Mountain Regional Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 187,
          "problem_letter": "A",
          "problem_id": 4849,
          "problem_name": "Bridge Bidding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "B",
          "problem_id": 4850,
          "problem_name": "Baskets of Gold Coins",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "C",
          "problem_id": 4851,
          "problem_name": "Toothpick Arithmetic",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "D",
          "problem_id": 1847,
          "problem_name": "볼록다각형 만들기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "sorting",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "sorting",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "E",
          "problem_id": 1849,
          "problem_name": "순열",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "F",
          "problem_id": 4745,
          "problem_name": "Marbles in Three Baskets",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 187,
          "problem_letter": "G",
          "problem_id": 4743,
          "problem_name": "Doors and Penguins",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "convex hull",
            "geometry",
            "line segment intersection check",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry",
            "line_intersection",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "H",
          "problem_id": 4853,
          "problem_name": "Knots",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 187,
          "problem_letter": "I",
          "problem_id": 4854,
          "problem_name": "String Equations",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "string",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "string",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        }
      ]
    },
    {
      "contest_id": 188,
      "contest_name": "2005 Rocky Mountain Regional Contest",
      "contest_full_name": "2005 Rocky Mountain Regional Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 188,
          "problem_letter": "A",
          "problem_id": 4855,
          "problem_name": "Tire Dimensions",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 188,
          "problem_letter": "B",
          "problem_id": 4856,
          "problem_name": "Random Walk",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "sorting",
            "ad-hoc",
            "geometry",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc",
            "geometry",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 188,
          "problem_letter": "C",
          "problem_id": 4857,
          "problem_name": "Paint Mix",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 188,
          "problem_letter": "D",
          "problem_id": 4858,
          "problem_name": "Open and Close",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 188,
          "problem_letter": "E",
          "problem_id": 4859,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 188,
          "problem_letter": "F",
          "problem_id": 4860,
          "problem_name": "Smallest Difference",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 188,
          "problem_letter": "G",
          "problem_id": 4861,
          "problem_name": "Faulty Odometer",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 188,
          "problem_letter": "H",
          "problem_id": 4862,
          "problem_name": "마지막 자리",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 188,
          "problem_letter": "I",
          "problem_id": 4863,
          "problem_name": "Suit Distribution",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 189,
      "contest_name": "2004 Rocky Mountain Regional Contest",
      "contest_full_name": "2004 Rocky Mountain Regional Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 189,
          "problem_letter": "A",
          "problem_id": 4864,
          "problem_name": "Gold Coins",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 189,
          "problem_letter": "B",
          "problem_id": 4865,
          "problem_name": "Shortest Prefixes",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 189,
          "problem_letter": "C",
          "problem_id": 4866,
          "problem_name": "Squares",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "data structures",
            "geometry",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "geometry",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 189,
          "problem_letter": "D",
          "problem_id": 4867,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 189,
          "problem_letter": "E",
          "problem_id": 4868,
          "problem_name": "Mix and Build",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "string"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 189,
          "problem_letter": "F",
          "problem_id": 4869,
          "problem_name": "Blackjack",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 189,
          "problem_letter": "G",
          "problem_id": 4870,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 189,
          "problem_letter": "H",
          "problem_id": 4871,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 190,
      "contest_name": "2003 Rocky Mountain Regional Contest",
      "contest_full_name": "2003 Rocky Mountain Regional Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 190,
          "problem_letter": "A",
          "problem_id": 4872,
          "problem_name": "SPIN",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 190,
          "problem_letter": "B",
          "problem_id": 4873,
          "problem_name": "SHAKE",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 190,
          "problem_letter": "C",
          "problem_id": 4874,
          "problem_name": "TOYS",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 190,
          "problem_letter": "D",
          "problem_id": 4875,
          "problem_name": "COMPRESS",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 190,
          "problem_letter": "E",
          "problem_id": 4876,
          "problem_name": "SHEET",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 190,
          "problem_letter": "F",
          "problem_id": 4877,
          "problem_name": "GYM",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 190,
          "problem_letter": "G",
          "problem_id": 4878,
          "problem_name": "PLANKS",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 190,
          "problem_letter": "H",
          "problem_id": 4879,
          "problem_name": "PERMS",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 191,
      "contest_name": "Asia Regional Contest 2012 in Tokyo",
      "contest_full_name": "Asia Regional Contest 2012 in Tokyo",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 191,
          "problem_letter": "A",
          "problem_id": 3825,
          "problem_name": "은행수",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "B",
          "problem_id": 3826,
          "problem_name": "스타일리시",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "C",
          "problem_id": 3827,
          "problem_name": "일차원 세포 자동자",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "exponentiation by squaring",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "D",
          "problem_id": 3828,
          "problem_name": "잘못된 계산",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "E",
          "problem_id": 3829,
          "problem_name": "Sliding Block Puzzle",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "breadth-first search",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "implementation",
            "shortest path"
          ],
          "tag_keys": [
            "bfs",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "implementation",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "F",
          "problem_id": 3830,
          "problem_name": "교수님은 기다리지 않는다",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "G",
          "problem_id": 3831,
          "problem_name": "Let There Be Light",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "geometry; 3d",
            "bit set"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "H",
          "problem_id": 3832,
          "problem_name": "Company Organization",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 191,
          "problem_letter": "I",
          "problem_id": 3833,
          "problem_name": "아름다운 레이아웃",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "binary search",
            "prefix sum",
            "parametric search",
            "two-pointer"
          ],
          "tag_keys": [
            "dp",
            "binary_search",
            "prefix_sum",
            "parametric_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 191,
          "problem_letter": "J",
          "problem_id": 3834,
          "problem_name": "Cubic Colonies",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 192,
      "contest_name": "Asia Regional Contest 2011 in Fukuoka",
      "contest_full_name": "Asia Regional Contest 2011 in Fukuoka",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 192,
          "problem_letter": "A",
          "problem_id": 4938,
          "problem_name": "Gift from the Goddess of Programming",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 192,
          "problem_letter": "B",
          "problem_id": 4939,
          "problem_name": "The Sorcerer’s Donut",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 192,
          "problem_letter": "C",
          "problem_id": 4940,
          "problem_name": "Weaker than Planned",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 192,
          "problem_letter": "D",
          "problem_id": 4941,
          "problem_name": "Long Distance Taxi",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "dijkstra's",
            "graph theory",
            "set / map by hashing",
            "set / map by trees",
            "shortest path",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dijkstra",
            "graphs",
            "hash_set",
            "tree_set",
            "shortest_path",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 192,
          "problem_letter": "E",
          "problem_id": 4942,
          "problem_name": "Driving an Icosahedral Rover",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 192,
          "problem_letter": "F",
          "problem_id": 4943,
          "problem_name": "City Merger",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 192,
          "problem_letter": "G",
          "problem_id": 4944,
          "problem_name": "Captain Q’s Treasure",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 192,
          "problem_letter": "H",
          "problem_id": 4945,
          "problem_name": "ASCII Expression",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 192,
          "problem_letter": "I",
          "problem_id": 4946,
          "problem_name": "Encircling Circles",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "case work",
            "boolean operations on geometric objects"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "case_work",
            "geometric_boolean_operations"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            }
          ]
        },
        {
          "contest_id": 192,
          "problem_letter": "J",
          "problem_id": 4947,
          "problem_name": "Round Trip",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 193,
      "contest_name": "Asia Regional Contest 2010 in Tokyo",
      "contest_full_name": "Asia Regional Contest 2010 in Tokyo",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 193,
          "problem_letter": "A",
          "problem_id": 3865,
          "problem_name": "학회원",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "graph theory",
            "string",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "depth-first search",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "string",
            "graph_traversal",
            "set",
            "bfs",
            "dfs",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 193,
          "problem_letter": "B",
          "problem_id": 3866,
          "problem_name": "풍선 수집",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 193,
          "problem_letter": "C",
          "problem_id": 3867,
          "problem_name": "고속도로 위의 마을",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 193,
          "problem_letter": "D",
          "problem_id": 3868,
          "problem_name": "Awkward Lights",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 193,
          "problem_letter": "E",
          "problem_id": 3869,
          "problem_name": "The Two Men of the Japanese Alps",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 193,
          "problem_letter": "F",
          "problem_id": 3870,
          "problem_name": "Find the Multiples",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "number theory",
            "set / map",
            "prefix sum",
            "combinatorics",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "number_theory",
            "set",
            "prefix_sum",
            "combinatorics",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 193,
          "problem_letter": "G",
          "problem_id": 3871,
          "problem_name": "Test Case Tweaking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 193,
          "problem_letter": "H",
          "problem_id": 3872,
          "problem_name": "Where’s Wally",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 193,
          "problem_letter": "I",
          "problem_id": 3873,
          "problem_name": "Intersection of Two Prisms",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "calculus",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "calculus",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 193,
          "problem_letter": "J",
          "problem_id": 3874,
          "problem_name": "Matrix Calculator",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 194,
      "contest_name": "Asia Regional Contest 2009 in Tokyo",
      "contest_full_name": "Asia Regional Contest 2009 in Tokyo",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 194,
          "problem_letter": "A",
          "problem_id": 3875,
          "problem_name": "Cubist Artwork",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 194,
          "problem_letter": "B",
          "problem_id": 3876,
          "problem_name": "sed 이용",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "string",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "string",
            "graph_traversal",
            "set",
            "bfs",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 194,
          "problem_letter": "C",
          "problem_id": 3877,
          "problem_name": "Swimming Jam",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 194,
          "problem_letter": "D",
          "problem_id": 3878,
          "problem_name": "점 분리",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "convex hull",
            "line segment intersection check",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "line_intersection",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 194,
          "problem_letter": "E",
          "problem_id": 3879,
          "problem_name": "Origami Through-Hole",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 194,
          "problem_letter": "F",
          "problem_id": 3880,
          "problem_name": "화학자의 수학",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "euclidean algorithm",
            "gaussian elimination",
            "linear algebra",
            "mathematics",
            "number theory",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "euclidean",
            "gaussian_elimination",
            "linear_algebra",
            "math",
            "number_theory",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 194,
          "problem_letter": "G",
          "problem_id": 3881,
          "problem_name": "말파티 원",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 194,
          "problem_letter": "H",
          "problem_id": 3882,
          "problem_name": "스무고개",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 194,
          "problem_letter": "I",
          "problem_id": 3883,
          "problem_name": "Hobby on Rails",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 194,
          "problem_letter": "J",
          "problem_id": 3884,
          "problem_name": "Infected Land",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 195,
      "contest_name": "Asia Regional Contest 2008 in Aizu",
      "contest_full_name": "Asia Regional Contest 2008 in Aizu",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 195,
          "problem_letter": "A",
          "problem_id": 3885,
          "problem_name": "회색 영역",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 195,
          "problem_letter": "B",
          "problem_id": 3886,
          "problem_name": "Expected Allowance",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 195,
          "problem_letter": "C",
          "problem_id": 3887,
          "problem_name": "Stopped Watches",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 195,
          "problem_letter": "D",
          "problem_id": 3888,
          "problem_name": "Digits on the Floor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 195,
          "problem_letter": "E",
          "problem_id": 3889,
          "problem_name": "구면 거울",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 195,
          "problem_letter": "F",
          "problem_id": 3890,
          "problem_name": "Traveling Cube",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 195,
          "problem_letter": "G",
          "problem_id": 3891,
          "problem_name": "키워드 검색",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "string",
            "bitmask",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "string",
            "bitmask",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 195,
          "problem_letter": "H",
          "problem_id": 3892,
          "problem_name": "Top Spinning",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 195,
          "problem_letter": "I",
          "problem_id": 3893,
          "problem_name": "공통 다항식",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "case work",
            "parsing",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "case_work",
            "parsing",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 195,
          "problem_letter": "J",
          "problem_id": 3894,
          "problem_name": "지그재그",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory",
            "geometry",
            "bitmask",
            "shortest path",
            "dijkstra's",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "geometry",
            "bitmask",
            "shortest_path",
            "dijkstra",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        }
      ]
    },
    {
      "contest_id": 196,
      "contest_name": "Asia Regional Contest 2007 in Tokyo",
      "contest_full_name": "Asia Regional Contest 2007 in Tokyo",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 196,
          "problem_letter": "A",
          "problem_id": 3895,
          "problem_name": "그리고 하나가 남았다",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "B",
          "problem_id": 3896,
          "problem_name": "소수 사이 수열",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "binary search",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "binary_search",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "C",
          "problem_id": 3897,
          "problem_name": "Minimal Backgammon",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "implementation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "D",
          "problem_id": 3898,
          "problem_name": "Lowest Pyramid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 196,
          "problem_letter": "E",
          "problem_id": 3899,
          "problem_name": "도로 지도",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 196,
          "problem_letter": "F",
          "problem_id": 3900,
          "problem_name": "Slim Span",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "minimum spanning tree",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "mst",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "G",
          "problem_id": 3901,
          "problem_name": "The Morning after Halloween",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "H",
          "problem_id": 3902,
          "problem_name": "Bug Hunt",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "parsing",
            "stack",
            "recursion"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set",
            "parsing",
            "stack",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "I",
          "problem_id": 3903,
          "problem_name": "제주도",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "binary search",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 196,
          "problem_letter": "J",
          "problem_id": 3904,
          "problem_name": "The Teacher's Side of Math",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "number theory",
            "linear algebra",
            "gaussian elimination",
            "polynomial interpolation"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "linear_algebra",
            "gaussian_elimination",
            "polynomial_interpolation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "polynomial_interpolation",
              "name": "polynomial interpolation",
              "boj_tag_id": 209
            }
          ]
        }
      ]
    },
    {
      "contest_id": 197,
      "contest_name": "Asia Regional Contest 2006 in Yokohama",
      "contest_full_name": "Asia Regional Contest 2006 in Yokohama",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 197,
          "problem_letter": "A",
          "problem_id": 3905,
          "problem_name": "How I Wonder What You Are!",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 197,
          "problem_letter": "B",
          "problem_id": 3906,
          "problem_name": "How I Mathematician Wonder What You Are!",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 197,
          "problem_letter": "C",
          "problem_id": 3907,
          "problem_name": "정육면체 8퍼즐",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "meet in the middle"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 197,
          "problem_letter": "D",
          "problem_id": 3908,
          "problem_name": "서로 다른 소수의 합",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 197,
          "problem_letter": "E",
          "problem_id": 3909,
          "problem_name": "맨하탄 배선",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 197,
          "problem_letter": "F",
          "problem_id": 3910,
          "problem_name": "거듭제곱 계산",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "backtracking",
            "precomputation"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "backtracking",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 197,
          "problem_letter": "G",
          "problem_id": 3911,
          "problem_name": "Polygons on the Grid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 197,
          "problem_letter": "H",
          "problem_id": 3912,
          "problem_name": "The Best Name for Your Baby",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 197,
          "problem_letter": "I",
          "problem_id": 3913,
          "problem_name": "Enjoyable Communication",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 198,
      "contest_name": "Asia Regional Contest 2005 in Tokyo",
      "contest_full_name": "Asia Regional Contest 2005 in Tokyo",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 198,
          "problem_letter": "A",
          "problem_id": 1644,
          "problem_name": "소수의 연속합",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "two-pointer",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "two_pointer",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 198,
          "problem_letter": "B",
          "problem_id": 3915,
          "problem_name": "Book Replacement",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 198,
          "problem_letter": "C",
          "problem_id": 3916,
          "problem_name": "Colored Cubes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 198,
          "problem_letter": "D",
          "problem_id": 3917,
          "problem_name": "Organize Your Train",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 198,
          "problem_letter": "E",
          "problem_id": 3918,
          "problem_name": "Mobile Computing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 198,
          "problem_letter": "F",
          "problem_id": 3919,
          "problem_name": "Atomic Car Race",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 198,
          "problem_letter": "G",
          "problem_id": 3920,
          "problem_name": "Network Mess",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 198,
          "problem_letter": "H",
          "problem_id": 3921,
          "problem_name": "Bingo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 198,
          "problem_letter": "I",
          "problem_id": 3922,
          "problem_name": "Shy Polygon",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        }
      ]
    },
    {
      "contest_id": 199,
      "contest_name": "Asia Regional Contest 2004 in Ehime",
      "contest_full_name": "Asia Regional Contest 2004 in Ehime",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 199,
          "problem_letter": "A",
          "problem_id": 3923,
          "problem_name": "저울",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 199,
          "problem_letter": "B",
          "problem_id": 3924,
          "problem_name": "Make a Sequence",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 199,
          "problem_letter": "C",
          "problem_id": 3925,
          "problem_name": "암호화의 취약점 찾기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 199,
          "problem_letter": "D",
          "problem_id": 3926,
          "problem_name": "Pathological Paths",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "string",
            "tree",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "trees",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 199,
          "problem_letter": "E",
          "problem_id": 3927,
          "problem_name": "Confusing Login Names",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 199,
          "problem_letter": "F",
          "problem_id": 3928,
          "problem_name": "Dice Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 199,
          "problem_letter": "G",
          "problem_id": 3929,
          "problem_name": "Color the Map",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 199,
          "problem_letter": "H",
          "problem_id": 3930,
          "problem_name": "Inherit the Spheres",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 199,
          "problem_letter": "I",
          "problem_id": 3931,
          "problem_name": "Crossing Prisms",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "geometry",
            "case work",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "case_work",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 200,
      "contest_name": "Asia Regional Contest 2003 in Aizu",
      "contest_full_name": "Asia Regional Contest 2003 in Aizu",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 200,
          "problem_letter": "A",
          "problem_id": 3932,
          "problem_name": "Unreliable Messengers",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 200,
          "problem_letter": "B",
          "problem_id": 3933,
          "problem_name": "라그랑주의 네 제곱수 정리",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 200,
          "problem_letter": "C",
          "problem_id": 3934,
          "problem_name": "Area of Polygons",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 200,
          "problem_letter": "D",
          "problem_id": 3935,
          "problem_name": "바람의 신",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask"
          ],
          "tag_keys": [
            "dp",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 200,
          "problem_letter": "E",
          "problem_id": 3936,
          "problem_name": "Molecular Formula",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "hashing",
            "implementation",
            "parsing",
            "recursion",
            "stack",
            "string",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hashing",
            "implementation",
            "parsing",
            "recursion",
            "stack",
            "string",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 200,
          "problem_letter": "F",
          "problem_id": 3937,
          "problem_name": "Gap",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 200,
          "problem_letter": "G",
          "problem_id": 3938,
          "problem_name": "Concert Hall Scheduling",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 200,
          "problem_letter": "H",
          "problem_id": 3939,
          "problem_name": "Monster Trap",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 201,
      "contest_name": "2011 Japan Domestic Contest",
      "contest_full_name": "2011 Japan Domestic Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 201,
          "problem_letter": "A",
          "problem_id": 4948,
          "problem_name": "베르트랑 공준",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 201,
          "problem_letter": "B",
          "problem_id": 4949,
          "problem_name": "균형잡힌 세상",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 201,
          "problem_letter": "C",
          "problem_id": 4950,
          "problem_name": "Identically Colored Panels Connection",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "breadth-first search",
            "bruteforcing",
            "data structures",
            "depth-first search",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "backtracking",
            "bfs",
            "bruteforcing",
            "data_structures",
            "dfs",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 201,
          "problem_letter": "D",
          "problem_id": 4951,
          "problem_name": "And Then, How Many Are There?",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "geometry",
            "bitmask",
            "dynamic programming using bitfield",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "bitmask",
            "dp_bitfield",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 201,
          "problem_letter": "E",
          "problem_id": 4952,
          "problem_name": "Planning Rolling Blackouts",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 201,
          "problem_letter": "F",
          "problem_id": 4953,
          "problem_name": "Watchdog Corporation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 201,
          "problem_letter": "G",
          "problem_id": 4954,
          "problem_name": "A Broken Door",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "0-1 bfs",
            "breadth-first search",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "greedy",
            "implementation",
            "parametric search",
            "shortest path"
          ],
          "tag_keys": [
            "0_1_bfs",
            "bfs",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "greedy",
            "implementation",
            "parametric_search",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 202,
      "contest_name": "2010 Japan Domestic Contest",
      "contest_full_name": "2010 Japan Domestic Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 202,
          "problem_letter": "A",
          "problem_id": 4955,
          "problem_name": "Pablo Squarson's Headache",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 202,
          "problem_letter": "B",
          "problem_id": 4956,
          "problem_name": "Amazing Mazes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 202,
          "problem_letter": "C",
          "problem_id": 4957,
          "problem_name": "Pollock's conjecture",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 202,
          "problem_letter": "D",
          "problem_id": 4958,
          "problem_name": "Off Balance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 202,
          "problem_letter": "E",
          "problem_id": 4959,
          "problem_name": "The Most Powerful Spell",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 202,
          "problem_letter": "F",
          "problem_id": 4960,
          "problem_name": "Old Memories",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 202,
          "problem_letter": "G",
          "problem_id": 4961,
          "problem_name": "Laser Beam Reflections",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 203,
      "contest_name": "2009 Japan Domestic Contest",
      "contest_full_name": "2009 Japan Domestic Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 203,
          "problem_letter": "A",
          "problem_id": 4962,
          "problem_name": "Next Mayor",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 203,
          "problem_letter": "B",
          "problem_id": 4963,
          "problem_name": "섬의 개수",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 203,
          "problem_letter": "C",
          "problem_id": 4964,
          "problem_name": "단어 덧셈",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 203,
          "problem_letter": "D",
          "problem_id": 4965,
          "problem_name": "Discrete Speed",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "physics"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "physics"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 203,
          "problem_letter": "E",
          "problem_id": 4966,
          "problem_name": "Cards",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm",
            "bipartite matching"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 203,
          "problem_letter": "F",
          "problem_id": 4967,
          "problem_name": "Tighten Up!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 204,
      "contest_name": "2008 Japan Domestic Contest",
      "contest_full_name": "2008 Japan Domestic Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 204,
          "problem_letter": "A",
          "problem_id": 4968,
          "problem_name": "Equal Total Scores",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 204,
          "problem_letter": "B",
          "problem_id": 4969,
          "problem_name": "월요일-토요일",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 204,
          "problem_letter": "C",
          "problem_id": 4970,
          "problem_name": "디지털 회로 개론",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "parsing",
            "stack",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "parsing",
            "stack",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 204,
          "problem_letter": "D",
          "problem_id": 4971,
          "problem_name": "Twirling Robot",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 204,
          "problem_letter": "E",
          "problem_id": 4972,
          "problem_name": "Roll-A-Big-Ball",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "case work",
            "geometry",
            "geometry; 3d",
            "line segment intersection check",
            "parametric search"
          ],
          "tag_keys": [
            "case_work",
            "geometry",
            "geometry_3d",
            "line_intersection",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 204,
          "problem_letter": "F",
          "problem_id": 4973,
          "problem_name": "ICPC: Intelligent Congruent Partition of Chocolate",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 205,
      "contest_name": "2007 Japan Domestic Contest",
      "contest_full_name": "2007 Japan Domestic Contest",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 205,
          "problem_letter": "A",
          "problem_id": 4974,
          "problem_name": "ICPC Score Totalizer Software",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 205,
          "problem_letter": "B",
          "problem_id": 4975,
          "problem_name": "Analyzing Login/Logout Records",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 205,
          "problem_letter": "C",
          "problem_id": 4976,
          "problem_name": "Cut the Cake",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 205,
          "problem_letter": "D",
          "problem_id": 4977,
          "problem_name": "Cliff Climbing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dijkstra's",
            "graph theory",
            "implementation",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "implementation",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 205,
          "problem_letter": "E",
          "problem_id": 4978,
          "problem_name": "Twirl Around",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 205,
          "problem_letter": "F",
          "problem_id": 4979,
          "problem_name": "Dr. Podboq or: How We Became Asymmetric",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 206,
      "contest_name": "2006 Japan Domestic Contest",
      "contest_full_name": "2006 Japan Domestic Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 206,
          "problem_letter": "A",
          "problem_id": 4980,
          "problem_name": "Dirichlet's Theorem on Arithmetic Progressions",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 206,
          "problem_letter": "B",
          "problem_id": 4981,
          "problem_name": "Organize Your Train part II",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 206,
          "problem_letter": "C",
          "problem_id": 4982,
          "problem_name": "Hexerpents of Hexwamp",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 206,
          "problem_letter": "D",
          "problem_id": 4983,
          "problem_name": "Curling 2.0",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "simulation",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "simulation",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 206,
          "problem_letter": "E",
          "problem_id": 4984,
          "problem_name": "The Genome Database of All Space Life",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "parsing",
            "recursion",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "recursion",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 206,
          "problem_letter": "F",
          "problem_id": 4985,
          "problem_name": "Secrets in Shadows",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "geometry",
            "sweeping",
            "angle sorting"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "geometry",
            "sweeping",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        }
      ]
    },
    {
      "contest_id": 207,
      "contest_name": "2005 Japan Domestic Contest",
      "contest_full_name": "2005 Japan Domestic Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 207,
          "problem_letter": "A",
          "problem_id": 4986,
          "problem_name": "Ohgas' Fortune",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 207,
          "problem_letter": "B",
          "problem_id": 4987,
          "problem_name": "Polygonal Line Search",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 207,
          "problem_letter": "C",
          "problem_id": 4988,
          "problem_name": "Numeral System",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "string",
            "arithmetic",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 207,
          "problem_letter": "D",
          "problem_id": 4989,
          "problem_name": "Traveling by Stagecoach",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "bitmask",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bitmask",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 207,
          "problem_letter": "E",
          "problem_id": 4990,
          "problem_name": "Earth Observation with a Mobile Robot Team",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 207,
          "problem_letter": "F",
          "problem_id": 4991,
          "problem_name": "로봇 청소기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "bitmask"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        }
      ]
    },
    {
      "contest_id": 208,
      "contest_name": "2004 Japan Domestic Contest",
      "contest_full_name": "2004 Japan Domestic Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 208,
          "problem_letter": "A",
          "problem_id": 4992,
          "problem_name": "Hanafuda Shuffle",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 208,
          "problem_letter": "B",
          "problem_id": 4993,
          "problem_name": "Red and Black",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 208,
          "problem_letter": "C",
          "problem_id": 2404,
          "problem_name": "단위 분수로 분할",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 208,
          "problem_letter": "D",
          "problem_id": 4995,
          "problem_name": "원과 점",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 208,
          "problem_letter": "E",
          "problem_id": 4996,
          "problem_name": "Water Tank",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 208,
          "problem_letter": "F",
          "problem_id": 4997,
          "problem_name": "Name the Crossing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 209,
      "contest_name": "NCPC 2012",
      "contest_full_name": "NCPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 209,
          "problem_letter": "A",
          "problem_id": 4999,
          "problem_name": "아!",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "B",
          "problem_id": 5000,
          "problem_name": "빵 정렬",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "parity"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "C",
          "problem_id": 5001,
          "problem_name": "Cookie Selection",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "D",
          "problem_id": 5002,
          "problem_name": "도어맨",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "E",
          "problem_id": 5003,
          "problem_name": "Eco-driving",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "F",
          "problem_id": 5004,
          "problem_name": "파워 블로거",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "G",
          "problem_id": 5005,
          "problem_name": "Galactic Warlords",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "H",
          "problem_id": 5006,
          "problem_name": "Horror List",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "I",
          "problem_id": 5007,
          "problem_name": "Infiltration",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 209,
          "problem_letter": "J",
          "problem_id": 5008,
          "problem_name": "Juice",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "tree",
            "dynamic programming on trees",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "trees",
            "dp_tree",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "K",
          "problem_id": 5009,
          "problem_name": "유치원",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "2-sat",
            "graph theory",
            "parametric search",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "graphs",
            "parametric_search",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 209,
          "problem_letter": "L",
          "problem_id": 5010,
          "problem_name": "수화물",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        }
      ]
    },
    {
      "contest_id": 210,
      "contest_name": "NCPC 2011",
      "contest_full_name": "NCPC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 210,
          "problem_letter": "A",
          "problem_id": 5011,
          "problem_name": "Robots on a grid",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "B",
          "problem_id": 5012,
          "problem_name": "불만 정렬",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "C",
          "problem_id": 5013,
          "problem_name": "Death Knight Hero",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "D",
          "problem_id": 5014,
          "problem_name": "스타트링크",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "E",
          "problem_id": 5015,
          "problem_name": "ls",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "F",
          "problem_id": 5016,
          "problem_name": "Knigs of the Forest",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "simulation",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "simulation",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "G",
          "problem_id": 5017,
          "problem_name": "Car Trouble",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "H",
          "problem_id": 5018,
          "problem_name": "Private Space",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bitmask",
            "backtracking",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "backtracking",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "I",
          "problem_id": 5019,
          "problem_name": "홀수, 짝수, 그리고 창영",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "dp",
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 210,
          "problem_letter": "J",
          "problem_id": 5020,
          "problem_name": "Enemy Division",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "constructive",
            "greedy"
          ],
          "tag_keys": [
            "constructive",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 211,
      "contest_name": "NCPC 2010",
      "contest_full_name": "NCPC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 211,
          "problem_letter": "A",
          "problem_id": 5021,
          "problem_name": "왕위 계승",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map",
            "set / map by hashing",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "set",
            "hash_set",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "B",
          "problem_id": 5022,
          "problem_name": "연결",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "C",
          "problem_id": 5023,
          "problem_name": "Borg Boogie",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "probability theory",
            "linear algebra",
            "bayes theorem"
          ],
          "tag_keys": [
            "math",
            "probability",
            "linear_algebra",
            "bayes"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "bayes",
              "name": "bayes theorem",
              "boj_tag_id": 114
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "D",
          "problem_id": 5024,
          "problem_name": "Dirty Driving",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "E",
          "problem_id": 5025,
          "problem_name": "낙서",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "F",
          "problem_id": 5026,
          "problem_name": "박사 과정",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "G",
          "problem_id": 5027,
          "problem_name": "Great Geek Game-show 3000!",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics",
            "prefix sum",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "prefix_sum",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "H",
          "problem_id": 5028,
          "problem_name": "Polyomino Powers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 211,
          "problem_letter": "I",
          "problem_id": 5029,
          "problem_name": "Statisticians",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "sorting",
            "ad-hoc",
            "prefix sum"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "J",
          "problem_id": 5030,
          "problem_name": "Skyline",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "line segment intersection check",
            "boolean operations on geometric objects"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "geometric_boolean_operations"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            }
          ]
        },
        {
          "contest_id": 211,
          "problem_letter": "K",
          "problem_id": 5031,
          "problem_name": "Around the track",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 212,
      "contest_name": "NCPC 2009",
      "contest_full_name": "NCPC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 212,
          "problem_letter": "A",
          "problem_id": 5032,
          "problem_name": "탄산 음료",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "B",
          "problem_id": 5033,
          "problem_name": "Money Matters",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "C",
          "problem_id": 5034,
          "problem_name": "Allergy Test",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking",
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "D",
          "problem_id": 5035,
          "problem_name": "Rain Fall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "E",
          "problem_id": 5036,
          "problem_name": "Speedy Escape",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "parametric search"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "F",
          "problem_id": 5037,
          "problem_name": "Gokigen Naname",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "G",
          "problem_id": 5038,
          "problem_name": "Flight Planning",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "constructive",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "constructive",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "H",
          "problem_id": 5039,
          "problem_name": "Beacons",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 212,
          "problem_letter": "I",
          "problem_id": 5040,
          "problem_name": "Playfair Cipher",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 212,
          "problem_letter": "J",
          "problem_id": 5041,
          "problem_name": "Code Permutations",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "möbius inversion",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "mobius_inversion",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 213,
      "contest_name": "NCPC 2008",
      "contest_full_name": "NCPC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 213,
          "problem_letter": "A",
          "problem_id": 5042,
          "problem_name": "나무 옮기기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "B",
          "problem_id": 5043,
          "problem_name": "정말 좋은 압축",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "C",
          "problem_id": 5044,
          "problem_name": "코드 절도",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "string",
            "hashing",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "hashing",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "D",
          "problem_id": 5045,
          "problem_name": "Dinner",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "E",
          "problem_id": 5046,
          "problem_name": "전국 대학생 프로그래밍 대회 동아리 연합",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "F",
          "problem_id": 5047,
          "problem_name": "Fixing the Bugs",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "G",
          "problem_id": 5048,
          "problem_name": "Getting Gold",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "H",
          "problem_id": 5049,
          "problem_name": "Hard Evidence",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "I",
          "problem_id": 5050,
          "problem_name": "Introspective Caching",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 213,
          "problem_letter": "J",
          "problem_id": 5051,
          "problem_name": "피타고라스의 정리",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        }
      ]
    },
    {
      "contest_id": 214,
      "contest_name": "NCPC 2007",
      "contest_full_name": "NCPC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 214,
          "problem_letter": "A",
          "problem_id": 5052,
          "problem_name": "전화번호 목록",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "tree",
            "set / map",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "trees",
            "set",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "B",
          "problem_id": 5053,
          "problem_name": "Cuckoo Hashing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "C",
          "problem_id": 5054,
          "problem_name": "주차의 신",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "D",
          "problem_id": 5055,
          "problem_name": "DNA 복사",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 214,
          "problem_letter": "E",
          "problem_id": 5056,
          "problem_name": "Circle of Debt",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "dynamic programming"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "F",
          "problem_id": 5057,
          "problem_name": "Full Tank?",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "G",
          "problem_id": 5058,
          "problem_name": "Nested Dolls",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "sorting",
            "binary search",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "binary_search",
            "lis"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "H",
          "problem_id": 5059,
          "problem_name": "Shopaholic",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 214,
          "problem_letter": "I",
          "problem_id": 5060,
          "problem_name": "무글 맵스",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 215,
      "contest_name": "NCPC 2006",
      "contest_full_name": "NCPC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 215,
          "problem_letter": "A",
          "problem_id": 1832,
          "problem_name": "카우보이",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "B",
          "problem_id": 1827,
          "problem_name": "여행가이드",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "C",
          "problem_id": 5063,
          "problem_name": "TGN",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "D",
          "problem_id": 5064,
          "problem_name": "Jezzball",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 215,
          "problem_letter": "E",
          "problem_id": 1835,
          "problem_name": "카드",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "deque"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "deque"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "F",
          "problem_id": 1828,
          "problem_name": "Traveling Salesman",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "G",
          "problem_id": 5067,
          "problem_name": "Whac-a-Mole",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "H",
          "problem_id": 5068,
          "problem_name": "Random Walking",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 215,
          "problem_letter": "I",
          "problem_id": 5069,
          "problem_name": "미로에 갇힌 상근",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 216,
      "contest_name": "NCPC 2005",
      "contest_full_name": "NCPC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 216,
          "problem_letter": "A",
          "problem_id": 2174,
          "problem_name": "로봇 시뮬레이션",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 216,
          "problem_letter": "B",
          "problem_id": 2062,
          "problem_name": "곱하기 게임",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "priority queue",
            "game theory"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "D",
          "problem_id": 1837,
          "problem_name": "암호제작",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "D",
          "problem_id": 2061,
          "problem_name": "좋은 암호",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "E",
          "problem_id": 2010,
          "problem_name": "플러그",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "F",
          "problem_id": 2094,
          "problem_name": "강수량",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "case work",
            "set / map by trees",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "case_work",
            "tree_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "G",
          "problem_id": 1841,
          "problem_name": "군사 배치",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "H",
          "problem_id": 2070,
          "problem_name": "목걸이 수열",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 216,
          "problem_letter": "I",
          "problem_id": 2063,
          "problem_name": "철사 연결",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 217,
      "contest_name": "GCPC 2012",
      "contest_full_name": "GCPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 217,
          "problem_letter": "A",
          "problem_id": 3953,
          "problem_name": "Battleship",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "B",
          "problem_id": 3954,
          "problem_name": "Brainf**k 인터프리터",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "C",
          "problem_id": 3955,
          "problem_name": "캔디 분배",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "D",
          "problem_id": 3956,
          "problem_name": "Outsourcing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "E",
          "problem_id": 3957,
          "problem_name": "Pizza Hawaii",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "F",
          "problem_id": 3958,
          "problem_name": "롤러코스터 타기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "G",
          "problem_id": 3959,
          "problem_name": "스키 점프",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "calculus",
            "physics"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "calculus",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "H",
          "problem_id": 3960,
          "problem_name": "Suffix Array Re-construction",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "I",
          "problem_id": 3961,
          "problem_name": "터치스크린 키보드",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "J",
          "problem_id": 3962,
          "problem_name": "Track Smoothing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 217,
          "problem_letter": "K",
          "problem_id": 3963,
          "problem_name": "Treasure Diving",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "bitmask",
            "shortest path",
            "dijkstra's",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "bitmask",
            "shortest_path",
            "dijkstra",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        }
      ]
    },
    {
      "contest_id": 218,
      "contest_name": "GCPC 2011",
      "contest_full_name": "GCPC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 218,
          "problem_letter": "A",
          "problem_id": 3964,
          "problem_name": "팩토리얼과 거듭제곱",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 218,
          "problem_letter": "B",
          "problem_id": 3965,
          "problem_name": "Genetic Fraud",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 218,
          "problem_letter": "C",
          "problem_id": 3966,
          "problem_name": "Indiana Jones and the lost Soccer Cup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 218,
          "problem_letter": "D",
          "problem_id": 3967,
          "problem_name": "매직 스타",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 218,
          "problem_letter": "E",
          "problem_id": 3968,
          "problem_name": "Magical Crafting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 218,
          "problem_letter": "F",
          "problem_id": 3969,
          "problem_name": "My brother’s diary",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 218,
          "problem_letter": "G",
          "problem_id": 3970,
          "problem_name": "안전 구역",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 218,
          "problem_letter": "H",
          "problem_id": 3971,
          "problem_name": "Sightseeing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 218,
          "problem_letter": "I",
          "problem_id": 3972,
          "problem_name": "Suiting Weavers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "greedy",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 218,
          "problem_letter": "J",
          "problem_id": 3973,
          "problem_name": "Time To Live",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        }
      ]
    },
    {
      "contest_id": 219,
      "contest_name": "GCPC 2010",
      "contest_full_name": "GCPC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 219,
          "problem_letter": "A",
          "problem_id": 3974,
          "problem_name": "Absurd prices",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "B",
          "problem_id": 3975,
          "problem_name": "Cheating or Not",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 219,
          "problem_letter": "C",
          "problem_id": 3976,
          "problem_name": "역습",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "D",
          "problem_id": 3977,
          "problem_name": "축구 전술",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "E",
          "problem_id": 3978,
          "problem_name": "Hacking",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "F",
          "problem_id": 3979,
          "problem_name": "Last Minute Constructions",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 219,
          "problem_letter": "G",
          "problem_id": 3980,
          "problem_name": "선발 명단",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "H",
          "problem_id": 3981,
          "problem_name": "큐브러버",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "I",
          "problem_id": 3982,
          "problem_name": "Soccer Bets",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "J",
          "problem_id": 3983,
          "problem_name": "The Two-ball Game",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 219,
          "problem_letter": "K",
          "problem_id": 3984,
          "problem_name": "To score or not to score",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 418,
      "contest_name": "BAPC 2012 Preliminaries",
      "contest_full_name": "BAPC 2012 Preliminaries",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 418,
          "problem_letter": "A",
          "problem_id": 5371,
          "problem_name": "Annoying Mosquitos",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "B",
          "problem_id": 5372,
          "problem_name": "나쁜 과학자",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "bruteforcing",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "C",
          "problem_id": 5373,
          "problem_name": "큐빙",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "D",
          "problem_id": 5374,
          "problem_name": "올바른 바이너리 문자열",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "E",
          "problem_id": 5375,
          "problem_name": "공책 구매",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "F",
          "problem_id": 5376,
          "problem_name": "소수를 분수로",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "parsing",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "parsing",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "G",
          "problem_id": 5377,
          "problem_name": "승혁이의 과외돌이네 집 탈출하기",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "convex hull",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "H",
          "problem_id": 5378,
          "problem_name": "Hex",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "I",
          "problem_id": 5379,
          "problem_name": "Islands",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 418,
          "problem_letter": "J",
          "problem_id": 5380,
          "problem_name": "Jumbled Letters",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "bitmask",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "bitmask",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 419,
      "contest_name": "BAPC 2011",
      "contest_full_name": "BAPC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 419,
          "problem_letter": "A",
          "problem_id": 5381,
          "problem_name": "Popping Balloons",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 419,
          "problem_letter": "B",
          "problem_id": 5382,
          "problem_name": "Quick out of the Harbour",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 419,
          "problem_letter": "C",
          "problem_id": 5383,
          "problem_name": "안녕! 난 루피! 장래에 해적왕이 될 사내다!",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "binary search",
            "point in convex polygon check",
            "half plane intersection",
            "duality"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "point_in_convex_polygon",
            "half_plane_intersection",
            "duality"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            }
          ]
        },
        {
          "contest_id": 419,
          "problem_letter": "D",
          "problem_id": 5384,
          "problem_name": "Bad Wiring",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "greedy"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 419,
          "problem_letter": "F",
          "problem_id": 5385,
          "problem_name": "Ultimate Finishing Strike",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 419,
          "problem_letter": "G",
          "problem_id": 5386,
          "problem_name": "금화 게임",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 419,
          "problem_letter": "H",
          "problem_id": 5387,
          "problem_name": "Walking the Plank",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 419,
          "problem_letter": "I",
          "problem_id": 5388,
          "problem_name": "Parking Ships",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 419,
          "problem_letter": "J",
          "problem_id": 5389,
          "problem_name": "제곱근 작도",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "parity"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        }
      ]
    },
    {
      "contest_id": 420,
      "contest_name": "BAPC 2010",
      "contest_full_name": "BAPC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 420,
          "problem_letter": "A",
          "problem_id": 5390,
          "problem_name": "Gene Shuffle",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "B",
          "problem_id": 5391,
          "problem_name": "Top 2000",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "C",
          "problem_id": 5392,
          "problem_name": "The Twin Tower",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "precomputation"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "D",
          "problem_id": 5393,
          "problem_name": "Collatz",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "E",
          "problem_id": 5394,
          "problem_name": "시계",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "binary search",
            "case work",
            "geometry"
          ],
          "tag_keys": [
            "binary_search",
            "case_work",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "G",
          "problem_id": 5395,
          "problem_name": "Snooker",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "case work",
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "H",
          "problem_id": 5396,
          "problem_name": "Pie Division",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 420,
          "problem_letter": "I",
          "problem_id": 5397,
          "problem_name": "키로거",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "stack",
            "linked list"
          ],
          "tag_keys": [
            "data_structures",
            "stack",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 420,
          "problem_letter": "J",
          "problem_id": 5398,
          "problem_name": "틀렸습니다",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        }
      ]
    },
    {
      "contest_id": 421,
      "contest_name": "BAPC 2009",
      "contest_full_name": "BAPC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 421,
          "problem_letter": "A",
          "problem_id": 5399,
          "problem_name": "Penguin Bashing",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation",
            "physics"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "physics"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "B",
          "problem_id": 5400,
          "problem_name": "Gearbox",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "C",
          "problem_id": 5401,
          "problem_name": "Escape from the Minefield",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "data structures",
            "geometry",
            "disjoint set",
            "delaunay triangulation"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "disjoint_set",
            "delaunay"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "delaunay",
              "name": "delaunay triangulation",
              "boj_tag_id": 21
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "D",
          "problem_id": 5402,
          "problem_name": "Baby’s Blocks",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "data structures",
            "set / map",
            "combinatorics",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "set",
            "combinatorics",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "E",
          "problem_id": 5403,
          "problem_name": "The Pharaoh’s Curse",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 421,
          "problem_letter": "F",
          "problem_id": 5404,
          "problem_name": "차원 워프 드라이브",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "G",
          "problem_id": 5405,
          "problem_name": "프랙탈 거리",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "H",
          "problem_id": 5406,
          "problem_name": "No Smoking, Please",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 421,
          "problem_letter": "I",
          "problem_id": 10700,
          "problem_name": "Arctic Polar Explorer",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 422,
      "contest_name": "BAPC 2008",
      "contest_full_name": "BAPC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 422,
          "problem_letter": "A",
          "problem_id": 5407,
          "problem_name": "Song contest",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "geometry",
            "set / map by hashing",
            "implementation",
            "mathematics",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "hash_set",
            "implementation",
            "math",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 422,
          "problem_letter": "B",
          "problem_id": 5408,
          "problem_name": "Message",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 422,
          "problem_letter": "C",
          "problem_id": 5409,
          "problem_name": "The skatepark's new ramps",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 422,
          "problem_letter": "D",
          "problem_id": 5410,
          "problem_name": "Road",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 422,
          "problem_letter": "E",
          "problem_id": 5411,
          "problem_name": "Warfare",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 422,
          "problem_letter": "F",
          "problem_id": 5412,
          "problem_name": "Blackjack",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "dynamic programming"
          ],
          "tag_keys": [
            "implementation",
            "dp"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 422,
          "problem_letter": "G",
          "problem_id": 5413,
          "problem_name": "Robintron",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 422,
          "problem_letter": "H",
          "problem_id": 5414,
          "problem_name": "Diamond Dealer",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        }
      ]
    },
    {
      "contest_id": 423,
      "contest_name": "BAPC 2005",
      "contest_full_name": "BAPC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 423,
          "problem_letter": "A",
          "problem_id": 5415,
          "problem_name": "ASM – The Abelian Sandpile Model",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 423,
          "problem_letter": "B",
          "problem_id": 5416,
          "problem_name": "Cell Phones",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 423,
          "problem_letter": "C",
          "problem_id": 5417,
          "problem_name": "Evacuation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 423,
          "problem_letter": "D",
          "problem_id": 5418,
          "problem_name": "Giant Cover",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "convex hull",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 423,
          "problem_letter": "E",
          "problem_id": 5419,
          "problem_name": "북서풍",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 423,
          "problem_letter": "F",
          "problem_id": 5420,
          "problem_name": "Shepherds and Engineers",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "case work",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "case_work",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 423,
          "problem_letter": "G",
          "problem_id": 5421,
          "problem_name": "Ski Lifts",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "directed acyclic graph",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dag",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 423,
          "problem_letter": "H",
          "problem_id": 5422,
          "problem_name": "Tables",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 424,
      "contest_name": "BAPC 2012",
      "contest_full_name": "BAPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 424,
          "problem_letter": "A",
          "problem_id": 5423,
          "problem_name": "Another Dice Game",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "C",
          "problem_id": 5424,
          "problem_name": "천하제일 게임 대회",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "D",
          "problem_id": 5425,
          "problem_name": "자리합",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "E",
          "problem_id": 5426,
          "problem_name": "비밀 편지",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "F",
          "problem_id": 5427,
          "problem_name": "불",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "G",
          "problem_id": 5428,
          "problem_name": "Good Coalition",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "H",
          "problem_id": 5429,
          "problem_name": "Hot Dogs in Manhattan",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "binary search",
            "breadth-first search",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "binary_search",
            "bfs",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "I",
          "problem_id": 5430,
          "problem_name": "AC",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "deque",
            "parsing",
            "implementation",
            "string",
            "data structures"
          ],
          "tag_keys": [
            "deque",
            "parsing",
            "implementation",
            "string",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 424,
          "problem_letter": "J",
          "problem_id": 5431,
          "problem_name": "책 쌓기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 425,
      "contest_name": "BAPC 2011 Preliminaries",
      "contest_full_name": "BAPC 2011 Preliminaries",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 425,
          "problem_letter": "A",
          "problem_id": 5432,
          "problem_name": "Stifling the Mutiny",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "B",
          "problem_id": 5433,
          "problem_name": "RNG",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "C",
          "problem_id": 5434,
          "problem_name": "Attack of the Giant n-pus",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "bipartite matching"
          ],
          "tag_keys": [
            "binary_search",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "D",
          "problem_id": 5435,
          "problem_name": "Polly Wants a Cracker",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "dynamic programming"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "E",
          "problem_id": 5436,
          "problem_name": "Rolling Dice",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "F",
          "problem_id": 5437,
          "problem_name": "Dividing the Loot",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "G",
          "problem_id": 5438,
          "problem_name": "Secret Island Base",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bruteforcing",
            "case work",
            "geometry",
            "mathematics",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "geometry",
            "math",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "H",
          "problem_id": 5439,
          "problem_name": "Stealth Ninja",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 425,
          "problem_letter": "I",
          "problem_id": 5440,
          "problem_name": "In and Out",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 425,
          "problem_letter": "J",
          "problem_id": 5441,
          "problem_name": "Shuriken Game",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        }
      ]
    },
    {
      "contest_id": 426,
      "contest_name": "BAPC 2010 Preliminaries",
      "contest_full_name": "BAPC 2010 Preliminaries",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 426,
          "problem_letter": "A",
          "problem_id": 5442,
          "problem_name": "Evolution",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "B",
          "problem_id": 5443,
          "problem_name": "Have a Nice Day",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "C",
          "problem_id": 5444,
          "problem_name": "시리얼 넘버",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "knapsack",
            "sliding window"
          ],
          "tag_keys": [
            "dp",
            "knapsack",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "D",
          "problem_id": 5445,
          "problem_name": "Equal Is Not Really Equal",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 426,
          "problem_letter": "E",
          "problem_id": 5446,
          "problem_name": "용량 부족",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "F",
          "problem_id": 5447,
          "problem_name": "Stock Market",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "G",
          "problem_id": 5448,
          "problem_name": "Acrobat Reader",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "H",
          "problem_id": 5449,
          "problem_name": "Farmer John",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "line segment intersection check"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "I",
          "problem_id": 5450,
          "problem_name": "Imagine",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "multidimensional segment tree",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "multi_segtree",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "multi_segtree",
              "name": "multidimensional segment tree",
              "boj_tag_id": 166
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 426,
          "problem_letter": "J",
          "problem_id": 5451,
          "problem_name": "My Cousin Obama",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        }
      ]
    },
    {
      "contest_id": 427,
      "contest_name": "BAPC 2005 Preliminaries",
      "contest_full_name": "BAPC 2005 Preliminaries",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 427,
          "problem_letter": "A",
          "problem_id": 5452,
          "problem_name": "Bancopia",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 427,
          "problem_letter": "B",
          "problem_id": 5453,
          "problem_name": "Flipping Networks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 427,
          "problem_letter": "C",
          "problem_id": 5454,
          "problem_name": "Insecurity",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 427,
          "problem_letter": "D",
          "problem_id": 5455,
          "problem_name": "Mandalas",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "geometry",
            "arbitrary precision / big integers",
            "euler characteristic (χ=v-e+f)"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arbitrary_precision",
            "euler_characteristic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            }
          ]
        },
        {
          "contest_id": 427,
          "problem_letter": "E",
          "problem_id": 5456,
          "problem_name": "Minotaur",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 427,
          "problem_letter": "F",
          "problem_id": 5457,
          "problem_name": "Mondriaan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 427,
          "problem_letter": "G",
          "problem_id": 5458,
          "problem_name": "Nim/3",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 427,
          "problem_letter": "H",
          "problem_id": 5459,
          "problem_name": "Venus Rover",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 428,
      "contest_name": "UCIPC 2012",
      "contest_full_name": "UCIPC 2012",
      "contest_year": 2012,
      "contest_path": "University > UCIPC",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 428,
          "problem_letter": "A",
          "problem_id": 4786,
          "problem_name": "CosmoCraft",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "B",
          "problem_id": 4787,
          "problem_name": "Covered Walkway",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "C",
          "problem_id": 4788,
          "problem_name": "Double Dealing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "D",
          "problem_id": 4789,
          "problem_name": "The End of the World",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "dp",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "E",
          "problem_id": 4790,
          "problem_name": "Estimation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "F",
          "problem_id": 4791,
          "problem_name": "Juggler",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "G",
          "problem_id": 4792,
          "problem_name": "레드 블루 스패닝 트리",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "H",
          "problem_id": 4793,
          "problem_name": "The Red Gem",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "I",
          "problem_id": 4794,
          "problem_name": "Science!",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "parametric search",
            "maximum flow",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "parametric_search",
            "flow",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 428,
          "problem_letter": "J",
          "problem_id": 4795,
          "problem_name": "The Worm in the Apple",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "convex hull",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 445,
      "contest_name": "NZPC 2012",
      "contest_full_name": "NZPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 445,
          "problem_letter": "B",
          "problem_id": 5073,
          "problem_name": "삼각형과 세 변",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "C",
          "problem_id": 5074,
          "problem_name": "When Do We Finish?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "D",
          "problem_id": 5075,
          "problem_name": "Car Park",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 445,
          "problem_letter": "E",
          "problem_id": 5076,
          "problem_name": "Web Pages",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "F",
          "problem_id": 5077,
          "problem_name": "Maps",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "G",
          "problem_id": 5078,
          "problem_name": "Shirts",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "H",
          "problem_id": 5079,
          "problem_name": "Discounts",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "J",
          "problem_id": 5080,
          "problem_name": "Microspikes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 445,
          "problem_letter": "K",
          "problem_id": 5081,
          "problem_name": "Constellations",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "L",
          "problem_id": 5082,
          "problem_name": "Image Segmentation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 445,
          "problem_letter": "M",
          "problem_id": 5083,
          "problem_name": "Team Dessert",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 445,
          "problem_letter": "N",
          "problem_id": 5084,
          "problem_name": "Bat Positioning",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 445,
          "problem_letter": "O",
          "problem_id": 5085,
          "problem_name": "Gooseberry Tart BASIC",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 446,
      "contest_name": "NZPC 2011",
      "contest_full_name": "NZPC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 446,
          "problem_letter": "A",
          "problem_id": 5086,
          "problem_name": "배수와 약수",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "B",
          "problem_id": 5087,
          "problem_name": "Card Cutting",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "C",
          "problem_id": 5088,
          "problem_name": "Archaeological Digs",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "D",
          "problem_id": 5089,
          "problem_name": "Travelling Salesman",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "E",
          "problem_id": 5090,
          "problem_name": "Street Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 446,
          "problem_letter": "F",
          "problem_id": 5091,
          "problem_name": "Hostel Nights",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "G",
          "problem_id": 5092,
          "problem_name": "Air Old Zeeland",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "H",
          "problem_id": 5093,
          "problem_name": "Letter Replacement",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "I",
          "problem_id": 5094,
          "problem_name": "Balloons",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 446,
          "problem_letter": "J",
          "problem_id": 5095,
          "problem_name": "Matrix Powers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "exponentiation by squaring",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "K",
          "problem_id": 5096,
          "problem_name": "Standing Pins",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 446,
          "problem_letter": "L",
          "problem_id": 5097,
          "problem_name": "The God Delusion",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "meet in the middle",
            "bidirectional search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "mitm",
            "bidirectional_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "bidirectional_search",
              "name": "bidirectional search",
              "boj_tag_id": 129
            }
          ]
        },
        {
          "contest_id": 446,
          "problem_letter": "N",
          "problem_id": 5098,
          "problem_name": "Adjacent Edges",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 446,
          "problem_letter": "P",
          "problem_id": 5099,
          "problem_name": "Vectors",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 447,
      "contest_name": "NZPC 2010",
      "contest_full_name": "NZPC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 447,
          "problem_letter": "A",
          "problem_id": 5100,
          "problem_name": "Jean and Joe’s Clothes",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "B",
          "problem_id": 5101,
          "problem_name": "Sequences",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "C",
          "problem_id": 5102,
          "problem_name": "Sarah's Toys",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "D",
          "problem_id": 5103,
          "problem_name": "DVDs",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "E",
          "problem_id": 5104,
          "problem_name": "NoMoPhobia",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "F",
          "problem_id": 5105,
          "problem_name": "Postman Joe",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "G",
          "problem_id": 5106,
          "problem_name": "Target",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "H",
          "problem_id": 5107,
          "problem_name": "마니또",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map",
            "set / map by hashing",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "set",
            "hash_set",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "I",
          "problem_id": 5108,
          "problem_name": "Lego Bricks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 447,
          "problem_letter": "J",
          "problem_id": 5109,
          "problem_name": "Extreme TTT",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "L",
          "problem_id": 5110,
          "problem_name": "A Foldy but a Goody",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 447,
          "problem_letter": "M",
          "problem_id": 5111,
          "problem_name": "Congested Networks",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "N",
          "problem_id": 5112,
          "problem_name": "Functional Programming Counts",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 447,
          "problem_letter": "O",
          "problem_id": 5113,
          "problem_name": "Packages Par Avion",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 447,
          "problem_letter": "P",
          "problem_id": 5114,
          "problem_name": "Ascii Art",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 561,
      "contest_name": "2012 ACM-ICPC Asia Hatyai Regional Programming Contest",
      "contest_full_name": "2012 ACM-ICPC Asia Hatyai Regional Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 561,
          "problem_letter": "A",
          "problem_id": 5628,
          "problem_name": "바이너리 행렬",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 561,
          "problem_letter": "B",
          "problem_id": 5629,
          "problem_name": "Probability Through experiment",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "geometry",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 561,
          "problem_letter": "C",
          "problem_id": 5630,
          "problem_name": "Optimal Space Way",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 561,
          "problem_letter": "D",
          "problem_id": 5631,
          "problem_name": "방사능",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "sorting",
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 561,
          "problem_letter": "E",
          "problem_id": 5632,
          "problem_name": "버젼 관리 IDE",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "string",
            "rope"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "rope"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "rope",
              "name": "rope",
              "boj_tag_id": 159
            }
          ]
        },
        {
          "contest_id": 561,
          "problem_letter": "F",
          "problem_id": 5633,
          "problem_name": "Ultimate Device",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 561,
          "problem_letter": "G",
          "problem_id": 5634,
          "problem_name": "Warp Speed II",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 561,
          "problem_letter": "H",
          "problem_id": 5635,
          "problem_name": "생일",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 561,
          "problem_letter": "I",
          "problem_id": 5636,
          "problem_name": "소수 부분 문자열",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 561,
          "problem_letter": "J",
          "problem_id": 5637,
          "problem_name": "가장 긴 단어",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "parsing",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "parsing",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        }
      ]
    },
    {
      "contest_id": 562,
      "contest_name": "2011 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_full_name": "2011 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 562,
          "problem_letter": "A",
          "problem_id": 5638,
          "problem_name": "수문",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "B",
          "problem_id": 5639,
          "problem_name": "이진 검색 트리",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "recursion"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "C",
          "problem_id": 5640,
          "problem_name": "즐거운 색칠",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "D",
          "problem_id": 5641,
          "problem_name": "겉보기에 쌍둥이 소수",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "arbitrary precision / big integers",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "arbitrary_precision",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "E",
          "problem_id": 5642,
          "problem_name": "퀸 게임",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "game theory",
            "precomputation",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "precomputation",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "F",
          "problem_id": 5643,
          "problem_name": "Spelling Suggestion",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 562,
          "problem_letter": "G",
          "problem_id": 5644,
          "problem_name": "Coalescing Continents",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "H",
          "problem_id": 5645,
          "problem_name": "Fence Making",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "I",
          "problem_id": 5646,
          "problem_name": "트리 경로",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "J",
          "problem_id": 5647,
          "problem_name": "연속 합",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "prime factorization",
            "pollard rho",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "prime_factorization",
            "pollard_rho",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "P1",
          "problem_id": 5648,
          "problem_name": "역원소 정렬",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "P2",
          "problem_id": 5649,
          "problem_name": "Line of Best Fit",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "P3",
          "problem_id": 5650,
          "problem_name": "Software Licenses",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 562,
          "problem_letter": "P4",
          "problem_id": 5651,
          "problem_name": "완전 중요한 간선",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        }
      ]
    },
    {
      "contest_id": 563,
      "contest_name": "2009 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_full_name": "2009 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 563,
          "problem_letter": "A",
          "problem_id": 5652,
          "problem_name": "Airplane Parking",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 563,
          "problem_letter": "B",
          "problem_id": 5653,
          "problem_name": "Elias Omega Coding",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 563,
          "problem_letter": "C",
          "problem_id": 5654,
          "problem_name": "In-circles Again",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "mathematics",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "geometry",
            "math",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 563,
          "problem_letter": "D",
          "problem_id": 5655,
          "problem_name": "평점",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 563,
          "problem_letter": "E",
          "problem_id": 5656,
          "problem_name": "비교 연산자",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 563,
          "problem_letter": "F",
          "problem_id": 5657,
          "problem_name": "Your Ways",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 563,
          "problem_letter": "G",
          "problem_id": 5658,
          "problem_name": "Hexagonal Sticks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 563,
          "problem_letter": "H",
          "problem_id": 5659,
          "problem_name": "Buy Your House",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 563,
          "problem_letter": "I",
          "problem_id": 5660,
          "problem_name": "Synnerg Lifeform",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 563,
          "problem_letter": "J",
          "problem_id": 5661,
          "problem_name": "Nowhere Money",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 563,
          "problem_letter": "K",
          "problem_id": 5662,
          "problem_name": "Highway Patrol",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 564,
      "contest_name": "Latin America Regional Contests 2012",
      "contest_full_name": "Latin America Regional Contests 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 564,
          "problem_letter": "A",
          "problem_id": 5668,
          "problem_name": "Arranging Heaps",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "divide and conquer",
            "convex hull trick",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "divide_and_conquer",
            "cht",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "B",
          "problem_id": 5669,
          "problem_name": "Boxes and Stones",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 564,
          "problem_letter": "C",
          "problem_id": 5670,
          "problem_name": "휴대폰 자판",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "D",
          "problem_id": 5671,
          "problem_name": "호텔 방 번호",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "E",
          "problem_id": 5672,
          "problem_name": "Environment Protection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 564,
          "problem_letter": "F",
          "problem_id": 5673,
          "problem_name": "Fix the Pond",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "G",
          "problem_id": 5674,
          "problem_name": "Game of Tiles",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "binary search",
            "game theory",
            "bipartite matching"
          ],
          "tag_keys": [
            "ad_hoc",
            "binary_search",
            "game_theory",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "H",
          "problem_id": 5675,
          "problem_name": "시침과 분침",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "I",
          "problem_id": 5676,
          "problem_name": "음주 코딩",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "segment tree",
            "data structures"
          ],
          "tag_keys": [
            "segtree",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "J",
          "problem_id": 5677,
          "problem_name": "Joining Couples",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "case work",
            "graph theory",
            "lowest common ancestor",
            "topological sorting",
            "tree",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "case_work",
            "graphs",
            "lca",
            "topological_sorting",
            "trees",
            "dag"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "PA",
          "problem_id": 5666,
          "problem_name": "Hot Dogs",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 564,
          "problem_letter": "PB",
          "problem_id": 5667,
          "problem_name": "Tornado!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 565,
      "contest_name": "Latin America Regional Contests 2011",
      "contest_full_name": "Latin America Regional Contests 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 565,
          "problem_letter": "A",
          "problem_id": 5680,
          "problem_name": "Army buddies",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "linked list"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "B",
          "problem_id": 5681,
          "problem_name": "공 쌓기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "C",
          "problem_id": 5682,
          "problem_name": "Candy’s Candy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 565,
          "problem_letter": "D",
          "problem_id": 5683,
          "problem_name": "상학어",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "E",
          "problem_id": 5684,
          "problem_name": "Electrical Pollution",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 565,
          "problem_letter": "F",
          "problem_id": 5685,
          "problem_name": "파일 검색",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 565,
          "problem_letter": "G",
          "problem_id": 5686,
          "problem_name": "Garden Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 565,
          "problem_letter": "H",
          "problem_id": 5687,
          "problem_name": "Hedge Mazes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 565,
          "problem_letter": "I",
          "problem_id": 5688,
          "problem_name": "In Braille",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "J",
          "problem_id": 5689,
          "problem_name": "Jupiter Attacks!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "hashing"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "K",
          "problem_id": 5690,
          "problem_name": "King’s Poker",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "PA",
          "problem_id": 5678,
          "problem_name": "Bakugan",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 565,
          "problem_letter": "PB",
          "problem_id": 5679,
          "problem_name": "Hailstone Sequences",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 566,
      "contest_name": "Latin America Regional Contests 2010",
      "contest_full_name": "Latin America Regional Contests 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 566,
          "problem_letter": "A",
          "problem_id": 5693,
          "problem_name": "Ants Colony",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 566,
          "problem_letter": "B",
          "problem_id": 5694,
          "problem_name": "Bingo!",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "C",
          "problem_id": 5695,
          "problem_name": "공원점",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "D",
          "problem_id": 5696,
          "problem_name": "숫자 세기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "E",
          "problem_id": 5697,
          "problem_name": "Electric Needs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 566,
          "problem_letter": "F",
          "problem_id": 5698,
          "problem_name": "Tautogram",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "G",
          "problem_id": 5699,
          "problem_name": "문자열 농장",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "directed acyclic graph",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "dag",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "H",
          "problem_id": 5700,
          "problem_name": "활동과잉 소년 강산이",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "sorting",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "I",
          "problem_id": 5701,
          "problem_name": "Ingenious Metro",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 566,
          "problem_letter": "J",
          "problem_id": 5702,
          "problem_name": "Jollo",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "K",
          "problem_id": 5703,
          "problem_name": "Kids’ Wishes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 566,
          "problem_letter": "PA",
          "problem_id": 5691,
          "problem_name": "평균 중앙값 문제",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 566,
          "problem_letter": "PB",
          "problem_id": 5692,
          "problem_name": "팩토리얼 진법",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 567,
      "contest_name": "Latin America Regional Contests 2009",
      "contest_full_name": "Latin America Regional Contests 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 567,
          "problem_letter": "A",
          "problem_id": 5706,
          "problem_name": "Another Crisis",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "B",
          "problem_id": 5707,
          "problem_name": "Brothers",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "C",
          "problem_id": 5708,
          "problem_name": "Code Lock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 567,
          "problem_letter": "D",
          "problem_id": 5709,
          "problem_name": "Dinner Hall",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 567,
          "problem_letter": "E",
          "problem_id": 5710,
          "problem_name": "전기 요금",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "F",
          "problem_id": 5711,
          "problem_name": "File Recover",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "string",
            "combinatorics",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "math",
            "string",
            "combinatorics",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "G",
          "problem_id": 5712,
          "problem_name": "Grapevine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 567,
          "problem_letter": "H",
          "problem_id": 5713,
          "problem_name": "Hooligan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 567,
          "problem_letter": "I",
          "problem_id": 5714,
          "problem_name": "Isosceles Triangles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "geometry",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "J",
          "problem_id": 5715,
          "problem_name": "Jingle Composing",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "K",
          "problem_id": 5716,
          "problem_name": "Klingon Levels",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "PA",
          "problem_id": 5704,
          "problem_name": "팬그램",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 567,
          "problem_letter": "PB",
          "problem_id": 5705,
          "problem_name": "Hexagonal Tiles",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 568,
      "contest_name": "South America Regional Contests 2008",
      "contest_full_name": "South America Regional Contests 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 568,
          "problem_letter": "A",
          "problem_id": 5719,
          "problem_name": "거의 최단 경로",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "B",
          "problem_id": 5720,
          "problem_name": "진법 알아내기",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "number theory",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "number_theory",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "C",
          "problem_id": 5721,
          "problem_name": "사탕 줍기 대회",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "D",
          "problem_id": 5722,
          "problem_name": "DNA 부분 수열",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "E",
          "problem_id": 5723,
          "problem_name": "Electricity",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "F",
          "problem_id": 5724,
          "problem_name": "파인만",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "G",
          "problem_id": 5725,
          "problem_name": "Pole Position",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "H",
          "problem_id": 5726,
          "problem_name": "Higgs Boson",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 568,
          "problem_letter": "I",
          "problem_id": 5727,
          "problem_name": "Traveling Shoemaker Problem",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 568,
          "problem_letter": "J",
          "problem_id": 5728,
          "problem_name": "Bora Bora",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 568,
          "problem_letter": "K",
          "problem_id": 5729,
          "problem_name": "수축하는 다각형",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "geometry",
            "set / map",
            "prefix sum",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "set",
            "prefix_sum",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "PA",
          "problem_id": 5717,
          "problem_name": "상근이의 친구들",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 568,
          "problem_letter": "PB",
          "problem_id": 5738,
          "problem_name": "He is offside!",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 569,
      "contest_name": "South America Regional Contests 2007",
      "contest_full_name": "South America Regional Contests 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 569,
          "problem_letter": "A",
          "problem_id": 5731,
          "problem_name": "Ambiguous Codes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "dijkstra's",
            "dynamic programming",
            "graph theory",
            "priority queue",
            "shortest path",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "dijkstra",
            "dp",
            "graphs",
            "priority_queue",
            "shortest_path",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "B",
          "problem_id": 5732,
          "problem_name": "Ballroom Lights",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 569,
          "problem_letter": "C",
          "problem_id": 5733,
          "problem_name": "Car Plates Competition",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "D",
          "problem_id": 5734,
          "problem_name": "Drop the Triples",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 569,
          "problem_letter": "E",
          "problem_id": 5735,
          "problem_name": "Emoticons :-)",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "F",
          "problem_id": 5736,
          "problem_name": "Finding Seats",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "binary_search",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "G",
          "problem_id": 5737,
          "problem_name": "Galou is back!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "H",
          "problem_id": 5738,
          "problem_name": "He is offside!",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "I",
          "problem_id": 5739,
          "problem_name": "ICPC Scoreboard",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 569,
          "problem_letter": "J",
          "problem_id": 5740,
          "problem_name": "Justice League",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 569,
          "problem_letter": "PA",
          "problem_id": 5730,
          "problem_name": "Acquapia",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 570,
      "contest_name": "South America Regional Contests 2006",
      "contest_full_name": "South America Regional Contests 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 570,
          "problem_letter": "A",
          "problem_id": 5742,
          "problem_name": "Weekend Lottery",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "B",
          "problem_id": 5743,
          "problem_name": "Lazy Jumping Frog",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "difference array"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "C",
          "problem_id": 5744,
          "problem_name": "Jukebox",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "greedy",
            "recursion"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "greedy",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "D",
          "problem_id": 5745,
          "problem_name": "Bubble Maps",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 570,
          "problem_letter": "E",
          "problem_id": 5746,
          "problem_name": "Onion Layers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "F",
          "problem_id": 5747,
          "problem_name": "Odd or Even",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "parity"
          ],
          "tag_keys": [
            "greedy",
            "parity"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "G",
          "problem_id": 5748,
          "problem_name": "Power Generation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "greedy"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "H",
          "problem_id": 5749,
          "problem_name": "Report Recovery",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "string",
            "prefix sum",
            "backtracking",
            "recursion"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "prefix_sum",
            "backtracking",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 570,
          "problem_letter": "I",
          "problem_id": 5750,
          "problem_name": "Turkish Roulette",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 570,
          "problem_letter": "PA",
          "problem_id": 5741,
          "problem_name": "Soccer League",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 571,
      "contest_name": "South America Regional Contests 2005",
      "contest_full_name": "South America Regional Contests 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 571,
          "problem_letter": "A",
          "problem_id": 5667,
          "problem_name": "Tornado!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "B",
          "problem_id": 5752,
          "problem_name": "Mission Impossible",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "C",
          "problem_id": 5753,
          "problem_name": "Pascal Library",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "D",
          "problem_id": 5754,
          "problem_name": "ICPC Strikes Again",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "topological sorting",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "graphs",
            "topological_sorting",
            "dag"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "E",
          "problem_id": 5755,
          "problem_name": "Optical Fiber",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 571,
          "problem_letter": "F",
          "problem_id": 5756,
          "problem_name": "Where Are My Genes",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "G",
          "problem_id": 5757,
          "problem_name": "Computer DJ",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "H",
          "problem_id": 5758,
          "problem_name": "P-Networks",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "sorting",
            "constructive"
          ],
          "tag_keys": [
            "sorting",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 571,
          "problem_letter": "I",
          "problem_id": 5759,
          "problem_name": "Light Up",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 571,
          "problem_letter": "PA",
          "problem_id": 5751,
          "problem_name": "Head or Tail",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 572,
      "contest_name": "South America Regional Contests 2004",
      "contest_full_name": "South America Regional Contests 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 572,
          "problem_letter": "A",
          "problem_id": 5760,
          "problem_name": "Land Division Tax",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 572,
          "problem_letter": "B",
          "problem_id": 5761,
          "problem_name": "Petanque",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 572,
          "problem_letter": "C",
          "problem_id": 5762,
          "problem_name": "Long Night of Museums",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 572,
          "problem_letter": "D",
          "problem_id": 5763,
          "problem_name": "Magic Trick",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 572,
          "problem_letter": "E",
          "problem_id": 5764,
          "problem_name": "Two-Stacks Solitaire",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 572,
          "problem_letter": "F",
          "problem_id": 5765,
          "problem_name": "Zing Zhu’s Oyster Farm",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 572,
          "problem_letter": "G",
          "problem_id": 5766,
          "problem_name": "할아버지는 유명해!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 572,
          "problem_letter": "H",
          "problem_id": 5767,
          "problem_name": "Cutting Edge",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 573,
      "contest_name": "South America Regional Contests 2003",
      "contest_full_name": "South America Regional Contests 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 573,
          "problem_letter": "A",
          "problem_id": 5770,
          "problem_name": "Dice",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 573,
          "problem_letter": "B",
          "problem_id": 5771,
          "problem_name": "Secure Region",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 573,
          "problem_letter": "C",
          "problem_id": 5772,
          "problem_name": "Runner Pawns",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 573,
          "problem_letter": "D",
          "problem_id": 5773,
          "problem_name": "The Splitting Club",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 573,
          "problem_letter": "E",
          "problem_id": 5774,
          "problem_name": "Kryptonite Mine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 573,
          "problem_letter": "F",
          "problem_id": 5775,
          "problem_name": "X-Mart",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 573,
          "problem_letter": "G",
          "problem_id": 5776,
          "problem_name": "Telecommunication Partners",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 573,
          "problem_letter": "H",
          "problem_id": 5777,
          "problem_name": "Child Play",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 573,
          "problem_letter": "PA",
          "problem_id": 5768,
          "problem_name": "Divide and Conquer",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 573,
          "problem_letter": "PB",
          "problem_id": 5769,
          "problem_name": "Make a Guess",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 574,
      "contest_name": "South America Regional Contests 2002",
      "contest_full_name": "South America Regional Contests 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 574,
          "problem_letter": "A",
          "problem_id": 5781,
          "problem_name": "Grandpa’s Rubik Cube",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "B",
          "problem_id": 5782,
          "problem_name": "This Sentence is False",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "bruteforcing",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bruteforcing",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "C",
          "problem_id": 5783,
          "problem_name": "Will Indiana Jones Get There?",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "D",
          "problem_id": 5784,
          "problem_name": "Duty Free Shop",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 574,
          "problem_letter": "E",
          "problem_id": 5785,
          "problem_name": "Not Too Convex Hull",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "F",
          "problem_id": 5786,
          "problem_name": "I hate SPAM, but some people love it",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "G",
          "problem_id": 5787,
          "problem_name": "Noise Effect",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "H",
          "problem_id": 5788,
          "problem_name": "Supermarket",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "PA",
          "problem_id": 5778,
          "problem_name": "Fake tickets",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 574,
          "problem_letter": "PB",
          "problem_id": 5779,
          "problem_name": "Square Lottery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 574,
          "problem_letter": "PC",
          "problem_id": 5780,
          "problem_name": "Uncle Tom’s Inherited Land",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "grid graph",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "grid_graph",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        }
      ]
    },
    {
      "contest_id": 575,
      "contest_name": "2012 ACM South Pacific Programming Contest",
      "contest_full_name": "2012 ACM South Pacific Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 575,
          "problem_letter": "A",
          "problem_id": 5789,
          "problem_name": "한다 안한다",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 575,
          "problem_letter": "B",
          "problem_id": 5790,
          "problem_name": "Log Books",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 575,
          "problem_letter": "C",
          "problem_id": 5791,
          "problem_name": "Myth Busters",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 575,
          "problem_letter": "D",
          "problem_id": 5792,
          "problem_name": "CrossNumber",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 575,
          "problem_letter": "E",
          "problem_id": 5793,
          "problem_name": "Movers Problems",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "breadth-first search",
            "sweeping",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "bfs",
            "sweeping",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 575,
          "problem_letter": "F",
          "problem_id": 5794,
          "problem_name": "Monkey Business",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 575,
          "problem_letter": "G",
          "problem_id": 5795,
          "problem_name": "Fridge lock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 575,
          "problem_letter": "H",
          "problem_id": 5796,
          "problem_name": "Fat Ninjas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 575,
          "problem_letter": "I",
          "problem_id": 5797,
          "problem_name": "Class Packing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "greedy",
            "sweeping"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 575,
          "problem_letter": "J",
          "problem_id": 5798,
          "problem_name": "Esspe-Peasee",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "extended euclidean algorithm",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "extended_euclidean",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 575,
          "problem_letter": "K",
          "problem_id": 5799,
          "problem_name": "Slithering Serpent",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 712,
      "contest_name": "Tehran Site 2012",
      "contest_full_name": "Tehran Site 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 712,
          "problem_letter": "A",
          "problem_id": 6249,
          "problem_name": "TV Reports",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 712,
          "problem_letter": "B",
          "problem_id": 6250,
          "problem_name": "ATM PIN Theft",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "combinatorics",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 712,
          "problem_letter": "C",
          "problem_id": 6251,
          "problem_name": "Leaking Dike",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 712,
          "problem_letter": "D",
          "problem_id": 6252,
          "problem_name": "Fire Evacuation Plan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 712,
          "problem_letter": "E",
          "problem_id": 6253,
          "problem_name": "Forgetful Waiter",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching",
            "data structures"
          ],
          "tag_keys": [
            "bipartite_matching",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 712,
          "problem_letter": "F",
          "problem_id": 6254,
          "problem_name": "Computerizing a Stockroom",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "case work",
            "data structures",
            "set / map by hashing",
            "implementation",
            "parsing",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "hash_set",
            "implementation",
            "parsing",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 712,
          "problem_letter": "G",
          "problem_id": 6255,
          "problem_name": "Harvesting a Farm",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "flood-fill",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "flood_fill",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 712,
          "problem_letter": "H",
          "problem_id": 6256,
          "problem_name": "Rectangular Painting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 712,
          "problem_letter": "I",
          "problem_id": 6257,
          "problem_name": "Corrupted BST",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 712,
          "problem_letter": "J",
          "problem_id": 6258,
          "problem_name": "Sightseeing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 713,
      "contest_name": "Tehran Site 2007",
      "contest_full_name": "Tehran Site 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 713,
          "problem_letter": "A",
          "problem_id": 6259,
          "problem_name": "WonderTeam",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 713,
          "problem_letter": "B",
          "problem_id": 6260,
          "problem_name": "Encrypted SMS",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 713,
          "problem_letter": "C",
          "problem_id": 6261,
          "problem_name": "Hopeless Coach",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 713,
          "problem_letter": "D",
          "problem_id": 6262,
          "problem_name": "Yungom",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 713,
          "problem_letter": "E",
          "problem_id": 6263,
          "problem_name": "New Island",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 713,
          "problem_letter": "F",
          "problem_id": 6264,
          "problem_name": "Sub-dictionary",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 713,
          "problem_letter": "G",
          "problem_id": 6265,
          "problem_name": "Sharif Super Computer",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 713,
          "problem_letter": "H",
          "problem_id": 6266,
          "problem_name": "Circle Artwork",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 713,
          "problem_letter": "I",
          "problem_id": 6267,
          "problem_name": "Crazy Bits",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow",
            "hungarian"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf",
            "hungarian"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            }
          ]
        },
        {
          "contest_id": 713,
          "problem_letter": "J",
          "problem_id": 6268,
          "problem_name": "누리카베",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "constructive",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 714,
      "contest_name": "Tehran Site 2006",
      "contest_full_name": "Tehran Site 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 714,
          "problem_letter": "A",
          "problem_id": 6269,
          "problem_name": "Team Arrangement",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 714,
          "problem_letter": "B",
          "problem_id": 6270,
          "problem_name": "Barbara Bennett's Wild Numbers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 714,
          "problem_letter": "C",
          "problem_id": 6271,
          "problem_name": "Calculating Taxi Fare",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 714,
          "problem_letter": "D",
          "problem_id": 6272,
          "problem_name": "Party at Hali-Bula",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 714,
          "problem_letter": "E",
          "problem_id": 6273,
          "problem_name": "Against Mammoths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 714,
          "problem_letter": "F",
          "problem_id": 6274,
          "problem_name": "Chessboard Dance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 714,
          "problem_letter": "G",
          "problem_id": 1228,
          "problem_name": "전쟁",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "set / map",
            "set / map by hashing",
            "dynamic programming on trees",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "set",
            "hash_set",
            "dp_tree",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 714,
          "problem_letter": "H",
          "problem_id": 6276,
          "problem_name": "Treasure of the Chimp Island",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 714,
          "problem_letter": "I",
          "problem_id": 1169,
          "problem_name": "정사각형 진열",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 715,
      "contest_name": "Shanghai Regional Contest 2011",
      "contest_full_name": "Shanghai Regional Contest 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Shanghai",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 715,
          "problem_letter": "A",
          "problem_id": 6278,
          "problem_name": "Zombie’s Treasure Chest",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 715,
          "problem_letter": "B",
          "problem_id": 6279,
          "problem_name": "삼각형 피자",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 715,
          "problem_letter": "C",
          "problem_id": 6280,
          "problem_name": "Xavier is Learning to Count",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "case work",
            "inclusion and exclusion",
            "fast fourier transform",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "case_work",
            "inclusion_and_exclusion",
            "fft",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 715,
          "problem_letter": "D",
          "problem_id": 6281,
          "problem_name": "Winmine.exe",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 715,
          "problem_letter": "E",
          "problem_id": 6282,
          "problem_name": "Very Boring Homework",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 715,
          "problem_letter": "F",
          "problem_id": 6283,
          "problem_name": "Universal Question Answering System",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 715,
          "problem_letter": "G",
          "problem_id": 6284,
          "problem_name": "Triangles and Quadrangle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 715,
          "problem_letter": "H",
          "problem_id": 6285,
          "problem_name": "Share the Cakes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 715,
          "problem_letter": "I",
          "problem_id": 6286,
          "problem_name": "리벤지 오브 피보나치",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "tree",
            "set / map",
            "set / map by hashing",
            "arbitrary precision / big integers",
            "trie"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "trees",
            "set",
            "hash_set",
            "arbitrary_precision",
            "trie"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 715,
          "problem_letter": "J",
          "problem_id": 6287,
          "problem_name": "Quelling Blade",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 717,
      "contest_name": "SWERC 2002",
      "contest_full_name": "SWERC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 717,
          "problem_letter": "A",
          "problem_id": 6294,
          "problem_name": "Solitaire",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "bruteforcing",
            "set / map",
            "meet in the middle"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "set",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 717,
          "problem_letter": "B",
          "problem_id": 6295,
          "problem_name": "Left labyrinths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 717,
          "problem_letter": "C",
          "problem_id": 6296,
          "problem_name": "Crazy Search",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 717,
          "problem_letter": "D",
          "problem_id": 6297,
          "problem_name": "Intervals",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 717,
          "problem_letter": "E",
          "problem_id": 6298,
          "problem_name": "Family",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 717,
          "problem_letter": "F",
          "problem_id": 6299,
          "problem_name": "Timetable",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 717,
          "problem_letter": "G",
          "problem_id": 6300,
          "problem_name": "단어 퍼즐",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "tree",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "trees",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 717,
          "problem_letter": "H",
          "problem_id": 6301,
          "problem_name": "Water Treatment Plants",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 717,
          "problem_letter": "I",
          "problem_id": 6302,
          "problem_name": "Servers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 718,
      "contest_name": "SWERC 1998",
      "contest_full_name": "SWERC 1998",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 718,
          "problem_letter": "A",
          "problem_id": 6303,
          "problem_name": "Optimal Programs",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "bruteforcing",
            "sorting",
            "simulation",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "sorting",
            "simulation",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 718,
          "problem_letter": "B",
          "problem_id": 6304,
          "problem_name": "The die is cast",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "sorting",
            "breadth-first search",
            "depth-first search",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "sorting",
            "bfs",
            "dfs",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 718,
          "problem_letter": "C",
          "problem_id": 6305,
          "problem_name": "It's not a Bug, it's a Feature!",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 718,
          "problem_letter": "D",
          "problem_id": 6306,
          "problem_name": "Reflections",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 718,
          "problem_letter": "E",
          "problem_id": 6307,
          "problem_name": "Going in circles on Alpha Centauri",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 718,
          "problem_letter": "F",
          "problem_id": 6308,
          "problem_name": "Blowing Fuses",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 718,
          "problem_letter": "G",
          "problem_id": 6309,
          "problem_name": "Fast Food",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 718,
          "problem_letter": "H",
          "problem_id": 6310,
          "problem_name": "Sorting Slides",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "bipartite matching"
          ],
          "tag_keys": [
            "bruteforcing",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 718,
          "problem_letter": "I",
          "problem_id": 6311,
          "problem_name": "Single-Player Games",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 719,
      "contest_name": "SWERC 1997",
      "contest_full_name": "SWERC 1997",
      "contest_year": 1997,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 719,
          "problem_letter": "A",
          "problem_id": 6312,
          "problem_name": "Triangles",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "B",
          "problem_id": 6313,
          "problem_name": "Instant Complexity",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 719,
          "problem_letter": "C",
          "problem_id": 6314,
          "problem_name": "There’s treasure everywhere!",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry",
            "implementation",
            "parsing",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "parsing",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "D",
          "problem_id": 6315,
          "problem_name": "Video Surveillance",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "E",
          "problem_id": 6316,
          "problem_name": "Pushing Boxes",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "F",
          "problem_id": 6317,
          "problem_name": "Always on the run",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "G",
          "problem_id": 6318,
          "problem_name": "Box of Bricks",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "H",
          "problem_id": 6319,
          "problem_name": "Island of Logic",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "I",
          "problem_id": 6320,
          "problem_name": "MBone",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 719,
          "problem_letter": "PA",
          "problem_id": 6321,
          "problem_name": "IBM 빼기 1",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "string",
            "implementation"
          ],
          "tag_keys": [
            "string",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "PB",
          "problem_id": 6322,
          "problem_name": "직각 삼각형의 두 변",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "PC",
          "problem_id": 6323,
          "problem_name": "Carbon Dating",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "PD",
          "problem_id": 6324,
          "problem_name": "URLs",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 719,
          "problem_letter": "PE",
          "problem_id": 6325,
          "problem_name": "Definite Values",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        }
      ]
    },
    {
      "contest_id": 720,
      "contest_name": "2011 ACM South Pacific Programming Contest",
      "contest_full_name": "2011 ACM South Pacific Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 720,
          "problem_letter": "A",
          "problem_id": 5800,
          "problem_name": "성적 통계",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 720,
          "problem_letter": "B",
          "problem_id": 5801,
          "problem_name": "Avoiding a disaster",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "arithmetic",
            "case work",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "arithmetic",
            "case_work",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 720,
          "problem_letter": "C",
          "problem_id": 5802,
          "problem_name": "Roll-call in Woop Woop High",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 720,
          "problem_letter": "D",
          "problem_id": 5803,
          "problem_name": "Difficult Routes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 720,
          "problem_letter": "E",
          "problem_id": 5804,
          "problem_name": "RealPhobia",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 720,
          "problem_letter": "F",
          "problem_id": 5805,
          "problem_name": "Insidious Branding",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 720,
          "problem_letter": "G",
          "problem_id": 5806,
          "problem_name": "Help-or-else",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 720,
          "problem_letter": "H",
          "problem_id": 5807,
          "problem_name": "Pahom on Water",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 720,
          "problem_letter": "I",
          "problem_id": 5808,
          "problem_name": "Detour Buster",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 720,
          "problem_letter": "J",
          "problem_id": 5809,
          "problem_name": "Oil Skimming",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 720,
          "problem_letter": "K",
          "problem_id": 5810,
          "problem_name": "Numbers Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 721,
      "contest_name": "MCERC 2000",
      "contest_full_name": "MCERC 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Europe > Mid-Central European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 721,
          "problem_letter": "A",
          "problem_id": 6326,
          "problem_name": "Atlantis",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "sorting",
            "sweeping",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "sorting",
            "sweeping",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 721,
          "problem_letter": "B",
          "problem_id": 6327,
          "problem_name": "Cog-Wheels",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 721,
          "problem_letter": "C",
          "problem_id": 6328,
          "problem_name": "Erdös Numbers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "graphs",
            "graph_traversal",
            "hash_set",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 721,
          "problem_letter": "D",
          "problem_id": 6329,
          "problem_name": "Number Game",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "game theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "game_theory",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 721,
          "problem_letter": "E",
          "problem_id": 6330,
          "problem_name": "Ouroboros Snake",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 721,
          "problem_letter": "F",
          "problem_id": 6331,
          "problem_name": "Fold-up Patterns",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 721,
          "problem_letter": "G",
          "problem_id": 6332,
          "problem_name": "Railroad",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 721,
          "problem_letter": "H",
          "problem_id": 6333,
          "problem_name": "Smith Numbers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        }
      ]
    },
    {
      "contest_id": 722,
      "contest_name": "MCERC 1999",
      "contest_full_name": "MCERC 1999",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Europe > Mid-Central European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 722,
          "problem_letter": "A",
          "problem_id": 6334,
          "problem_name": "Maze",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "B",
          "problem_id": 6335,
          "problem_name": "Date bugs",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "C",
          "problem_id": 6336,
          "problem_name": "Robbery",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "D",
          "problem_id": 6337,
          "problem_name": "Dreisam Equations",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "parsing",
            "recursion"
          ],
          "tag_keys": [
            "string",
            "parsing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "E",
          "problem_id": 2290,
          "problem_name": "LCD Test",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "F",
          "problem_id": 6338,
          "problem_name": "Formatting Text",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "G",
          "problem_id": 6339,
          "problem_name": "The Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "H",
          "problem_id": 6340,
          "problem_name": "Dividing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 722,
          "problem_letter": "I",
          "problem_id": 6341,
          "problem_name": "S-Trees",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "binary search",
            "simulation",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "binary_search",
            "simulation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        }
      ]
    },
    {
      "contest_id": 723,
      "contest_name": "CERC 1997",
      "contest_full_name": "CERC 1997",
      "contest_year": 1997,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 723,
          "problem_letter": "A",
          "problem_id": 14540,
          "problem_name": "Railway Station",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 723,
          "problem_letter": "B",
          "problem_id": 6343,
          "problem_name": "King",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 723,
          "problem_letter": "C",
          "problem_id": 6344,
          "problem_name": "Prime Land",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 723,
          "problem_letter": "D",
          "problem_id": 6345,
          "problem_name": "Word",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 723,
          "problem_letter": "E",
          "problem_id": 6346,
          "problem_name": "Time",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 723,
          "problem_letter": "F",
          "problem_id": 6347,
          "problem_name": "Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 723,
          "problem_letter": "G",
          "problem_id": 6348,
          "problem_name": "Append",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 723,
          "problem_letter": "H",
          "problem_id": 6349,
          "problem_name": "Gossiping",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 724,
      "contest_name": "CERC 1996",
      "contest_full_name": "CERC 1996",
      "contest_year": 1996,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 724,
          "problem_letter": "A",
          "problem_id": 6350,
          "problem_name": "Tin Cutter",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 724,
          "problem_letter": "B",
          "problem_id": 6351,
          "problem_name": "FORCAL",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 724,
          "problem_letter": "C",
          "problem_id": 6352,
          "problem_name": "L-system",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 724,
          "problem_letter": "D",
          "problem_id": 6353,
          "problem_name": "Packets",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "case work",
            "geometry"
          ],
          "tag_keys": [
            "case_work",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 724,
          "problem_letter": "E",
          "problem_id": 6354,
          "problem_name": "Crosswords",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 724,
          "problem_letter": "F",
          "problem_id": 6355,
          "problem_name": "Intervals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 724,
          "problem_letter": "G",
          "problem_id": 6356,
          "problem_name": "Robot",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 724,
          "problem_letter": "H",
          "problem_id": 6357,
          "problem_name": "Network",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "bruteforcing",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bruteforcing",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 725,
      "contest_name": "2002 Greater New York Programming Contest",
      "contest_full_name": "2002 Greater New York Programming Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 725,
          "problem_letter": "A",
          "problem_id": 6358,
          "problem_name": "Four Quarters",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 725,
          "problem_letter": "B",
          "problem_id": 6359,
          "problem_name": "만취한 상범",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 725,
          "problem_letter": "C",
          "problem_id": 6360,
          "problem_name": "L-I-N-G-O: LINGO",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "case work",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 725,
          "problem_letter": "D",
          "problem_id": 6361,
          "problem_name": "Number Base Conversion",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 725,
          "problem_letter": "E",
          "problem_id": 6362,
          "problem_name": "Unimodal Palindromic Decompositions",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 725,
          "problem_letter": "F",
          "problem_id": 6363,
          "problem_name": "Extended Lights Out",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 725,
          "problem_letter": "G",
          "problem_id": 6364,
          "problem_name": "Dehuff",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 725,
          "problem_letter": "H",
          "problem_id": 6365,
          "problem_name": "Picture Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 725,
          "problem_letter": "I",
          "problem_id": 6366,
          "problem_name": "Strictly Inscribed Similar Triangles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 726,
      "contest_name": "2001 Greater New York Programming Contest",
      "contest_full_name": "2001 Greater New York Programming Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 726,
          "problem_letter": "A",
          "problem_id": 6367,
          "problem_name": "Color Me Less",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "B",
          "problem_id": 6368,
          "problem_name": "P,MTHBGWB",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "C",
          "problem_id": 6369,
          "problem_name": "Plato’s Blocks",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "graph theory",
            "greedy",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "greedy",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "D",
          "problem_id": 6370,
          "problem_name": "Bode Plot",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "calculus",
            "physics"
          ],
          "tag_keys": [
            "math",
            "calculus",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "E",
          "problem_id": 6371,
          "problem_name": "Follow My Logic",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation",
            "dag"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "F",
          "problem_id": 6372,
          "problem_name": "Microprocessor Simulation",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "G",
          "problem_id": 6373,
          "problem_name": "Round and Round We Go",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "simulation",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "simulation",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "H",
          "problem_id": 6374,
          "problem_name": "To the Max",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 726,
          "problem_letter": "I",
          "problem_id": 6375,
          "problem_name": "Set Me",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 727,
      "contest_name": "2000 Greater New York Programming Contest",
      "contest_full_name": "2000 Greater New York Programming Contest",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 727,
          "problem_letter": "A",
          "problem_id": 6376,
          "problem_name": "e 계산",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "B",
          "problem_id": 6377,
          "problem_name": "Problem Bee",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "case work",
            "geometry"
          ],
          "tag_keys": [
            "case_work",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "C",
          "problem_id": 6378,
          "problem_name": "디지털 루트",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "D",
          "problem_id": 6379,
          "problem_name": "Scramble Sort",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "parsing",
            "sorting",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "E",
          "problem_id": 6380,
          "problem_name": "A Well-Formed Problem",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "F",
          "problem_id": 6381,
          "problem_name": "Entropy",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "G",
          "problem_id": 6382,
          "problem_name": "N-Credible Mazes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "depth-first search",
            "set / map by hashing",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "bfs",
            "dfs",
            "hash_set",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 727,
          "problem_letter": "H",
          "problem_id": 6383,
          "problem_name": "SPF",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "flood-fill",
            "articulation points and bridges"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "dfs",
            "flood_fill",
            "articulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            }
          ]
        }
      ]
    },
    {
      "contest_id": 728,
      "contest_name": "NWERC 2001",
      "contest_full_name": "NWERC 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 728,
          "problem_letter": "1",
          "problem_id": 6384,
          "problem_name": "Area",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "area of a polygon",
            "pick's theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "polygon_area",
            "pick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "pick",
              "name": "pick's theorem",
              "boj_tag_id": 187
            }
          ]
        },
        {
          "contest_id": 728,
          "problem_letter": "2",
          "problem_id": 6385,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 728,
          "problem_letter": "3",
          "problem_id": 6386,
          "problem_name": "Cog-Wheels",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "math"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 728,
          "problem_letter": "4",
          "problem_id": 6387,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 728,
          "problem_letter": "5",
          "problem_id": 6388,
          "problem_name": "Enigma",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 728,
          "problem_letter": "6",
          "problem_id": 6389,
          "problem_name": "Gridland",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 728,
          "problem_letter": "7",
          "problem_id": 6390,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 728,
          "problem_letter": "8",
          "problem_id": 6391,
          "problem_name": "Number Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 728,
          "problem_letter": "9",
          "problem_id": 6392,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 729,
      "contest_name": "1993 ACM South Pacific Programming Contest",
      "contest_full_name": "1993 ACM South Pacific Programming Contest",
      "contest_year": 1993,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 729,
          "problem_letter": "A",
          "problem_id": 6393,
          "problem_name": "Code Breaking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 729,
          "problem_letter": "B",
          "problem_id": 6394,
          "problem_name": "Eeny Meeny",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 729,
          "problem_letter": "C",
          "problem_id": 6395,
          "problem_name": "Hearts",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 729,
          "problem_letter": "D",
          "problem_id": 6396,
          "problem_name": "Bonus Bonds",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 729,
          "problem_letter": "E",
          "problem_id": 6397,
          "problem_name": "Bit Maps",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "divide and conquer"
          ],
          "tag_keys": [
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 729,
          "problem_letter": "F",
          "problem_id": 6398,
          "problem_name": "Laser Lines",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 729,
          "problem_letter": "G",
          "problem_id": 6399,
          "problem_name": "Roman Numerals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 730,
      "contest_name": "1992 ACM South Pacific Programming Contest",
      "contest_full_name": "1992 ACM South Pacific Programming Contest",
      "contest_year": 1992,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 730,
          "problem_letter": "A",
          "problem_id": 6400,
          "problem_name": "Calculator Language",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 730,
          "problem_letter": "B",
          "problem_id": 6401,
          "problem_name": "Network Wars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 730,
          "problem_letter": "D",
          "problem_id": 6402,
          "problem_name": "Strategy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 730,
          "problem_letter": "E",
          "problem_id": 6403,
          "problem_name": "Keywords",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 730,
          "problem_letter": "F",
          "problem_id": 6404,
          "problem_name": "City Navigation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 730,
          "problem_letter": "G",
          "problem_id": 6405,
          "problem_name": "Paper Folding",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 730,
          "problem_letter": "H",
          "problem_id": 6406,
          "problem_name": "Shuffling Patience",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 731,
      "contest_name": "1991 ACM South Pacific Programming Contest",
      "contest_full_name": "1991 ACM South Pacific Programming Contest",
      "contest_year": 1991,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 731,
          "problem_letter": "A",
          "problem_id": 6407,
          "problem_name": "String Computer",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 731,
          "problem_letter": "B",
          "problem_id": 6408,
          "problem_name": "Stamps",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 731,
          "problem_letter": "C",
          "problem_id": 6409,
          "problem_name": "Making Change",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 731,
          "problem_letter": "D",
          "problem_id": 6410,
          "problem_name": "The Sultan's Successors",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 731,
          "problem_letter": "E",
          "problem_id": 6411,
          "problem_name": "Theseus and the Minotaur",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 731,
          "problem_letter": "F",
          "problem_id": 6412,
          "problem_name": "Xenosemantics",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 731,
          "problem_letter": "G",
          "problem_id": 6413,
          "problem_name": "Clock Patience",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 731,
          "problem_letter": "H",
          "problem_id": 6414,
          "problem_name": "Car Trialling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 732,
      "contest_name": "NCNA 1997",
      "contest_full_name": "NCNA 1997",
      "contest_year": 1997,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 732,
          "problem_letter": "1",
          "problem_id": 6415,
          "problem_name": "Mapping the Route",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 732,
          "problem_letter": "2",
          "problem_id": 6416,
          "problem_name": "트리인가?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "tree",
            "graph theory",
            "data structures"
          ],
          "tag_keys": [
            "trees",
            "graphs",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 732,
          "problem_letter": "3",
          "problem_id": 6417,
          "problem_name": "코코넛 그 두 번째 이야기",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 732,
          "problem_letter": "4",
          "problem_id": 6418,
          "problem_name": "Nonstop Travel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 732,
          "problem_letter": "5",
          "problem_id": 6419,
          "problem_name": "Doing Windows",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 732,
          "problem_letter": "6",
          "problem_id": 6420,
          "problem_name": "Numerically Speaking",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        }
      ]
    },
    {
      "contest_id": 733,
      "contest_name": "NCNA 1996",
      "contest_full_name": "NCNA 1996",
      "contest_year": 1996,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 733,
          "problem_letter": "A",
          "problem_id": 6421,
          "problem_name": "It's Ir-Resist-Able",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 733,
          "problem_letter": "B",
          "problem_id": 6422,
          "problem_name": "Getting Chorded",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "case work",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 733,
          "problem_letter": "C",
          "problem_id": 6423,
          "problem_name": "Run, Run, Runaround Numbers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 733,
          "problem_letter": "D",
          "problem_id": 6424,
          "problem_name": "Optimal Array Multiplication Sequence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 733,
          "problem_letter": "E",
          "problem_id": 6425,
          "problem_name": "Transferable Voting",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 733,
          "problem_letter": "F",
          "problem_id": 6426,
          "problem_name": "Psuedo-Random Numbers",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "simulation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 733,
          "problem_letter": "G",
          "problem_id": 6427,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 734,
      "contest_name": "SWERC 1996",
      "contest_full_name": "SWERC 1996",
      "contest_year": 1996,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 734,
          "problem_letter": "A",
          "problem_id": 6428,
          "problem_name": "Stars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 734,
          "problem_letter": "B",
          "problem_id": 6429,
          "problem_name": "Hexagon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 734,
          "problem_letter": "C",
          "problem_id": 6430,
          "problem_name": "Domino Effect",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "dijkstra's",
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bruteforcing",
            "dijkstra",
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 734,
          "problem_letter": "D",
          "problem_id": 6431,
          "problem_name": "Pendulum",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 734,
          "problem_letter": "E",
          "problem_id": 6432,
          "problem_name": "Border",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 734,
          "problem_letter": "F",
          "problem_id": 6433,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 734,
          "problem_letter": "G",
          "problem_id": 6434,
          "problem_name": "Ships",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 734,
          "problem_letter": "H",
          "problem_id": 6435,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 734,
          "problem_letter": "PA",
          "problem_id": 6436,
          "problem_name": "Floppies",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 734,
          "problem_letter": "PB",
          "problem_id": 6437,
          "problem_name": "Golf",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 734,
          "problem_letter": "PC",
          "problem_id": 6438,
          "problem_name": "Reverse Text",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 735,
      "contest_name": "SWERC 1995",
      "contest_full_name": "SWERC 1995",
      "contest_year": 1995,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 735,
          "problem_letter": "A",
          "problem_id": 6439,
          "problem_name": "교차",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 735,
          "problem_letter": "B",
          "problem_id": 6440,
          "problem_name": "Synchronous Design",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 735,
          "problem_letter": "C",
          "problem_id": 6441,
          "problem_name": "Graph Coloring",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "bruteforcing",
            "heuristics"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 735,
          "problem_letter": "D",
          "problem_id": 6442,
          "problem_name": "Triangle",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "case work",
            "geometry",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "geometry",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 735,
          "problem_letter": "E",
          "problem_id": 6443,
          "problem_name": "애너그램",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "backtracking"
          ],
          "tag_keys": [
            "string",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 735,
          "problem_letter": "F",
          "problem_id": 6444,
          "problem_name": "스프레드시트",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "directed acyclic graph",
            "dynamic programming",
            "graph theory",
            "parsing",
            "string",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "dp",
            "graphs",
            "parsing",
            "string",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 735,
          "problem_letter": "G",
          "problem_id": 6445,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 735,
          "problem_letter": "H",
          "problem_id": 6446,
          "problem_name": "Peter's Calculator",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 735,
          "problem_letter": "J",
          "problem_id": 6447,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 736,
      "contest_name": "2001 South Africa Regional Contest",
      "contest_full_name": "2001 South Africa Regional Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Africa and Arab > South Africa Regional Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 736,
          "problem_letter": "1",
          "problem_id": 6448,
          "problem_name": "Stockbroker Grapevine",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 736,
          "problem_letter": "2",
          "problem_id": 6449,
          "problem_name": "Frame Stacking",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "graph theory",
            "backtracking",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "backtracking",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 736,
          "problem_letter": "3",
          "problem_id": 6450,
          "problem_name": "Channel Allocation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 736,
          "problem_letter": "4",
          "problem_id": 6451,
          "problem_name": "Alien Security",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "bruteforcing",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bruteforcing",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 736,
          "problem_letter": "5",
          "problem_id": 6452,
          "problem_name": "Octal Fractions",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 736,
          "problem_letter": "6",
          "problem_id": 6453,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 737,
      "contest_name": "1989 Southern California Regional",
      "contest_full_name": "1989 Southern California Regional",
      "contest_year": 1989,
      "contest_path": "ICPC > Regionals > North America > Southern California Regional",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 737,
          "problem_letter": "A",
          "problem_id": 6454,
          "problem_name": "Trip Routing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "dijkstra's",
            "floyd–warshall",
            "graph theory",
            "set / map by hashing",
            "implementation",
            "parsing",
            "shortest path",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dijkstra",
            "floyd_warshall",
            "graphs",
            "hash_set",
            "implementation",
            "parsing",
            "shortest_path",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 737,
          "problem_letter": "B",
          "problem_id": 6455,
          "problem_name": "Transaction Processing",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 737,
          "problem_letter": "C",
          "problem_id": 6456,
          "problem_name": "Perfect Hash",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 737,
          "problem_letter": "D",
          "problem_id": 6457,
          "problem_name": "Pascal Program Lengths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 737,
          "problem_letter": "E",
          "problem_id": 6458,
          "problem_name": "Circle Through Three Points",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 738,
      "contest_name": "1998 South Central USA Regional Programming Contest",
      "contest_full_name": "1998 South Central USA Regional Programming Contest",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 738,
          "problem_letter": "F",
          "problem_id": 6459,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 739,
      "contest_name": "1997 South Central USA Regional Programming Contest",
      "contest_full_name": "1997 South Central USA Regional Programming Contest",
      "contest_year": 1997,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 739,
          "problem_letter": "1",
          "problem_id": 6460,
          "problem_name": "Pizza Anyone?",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 739,
          "problem_letter": "2",
          "problem_id": 6461,
          "problem_name": "Adam's Genes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 739,
          "problem_letter": "3",
          "problem_id": 6462,
          "problem_name": "Risk",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 739,
          "problem_letter": "4",
          "problem_id": 6463,
          "problem_name": "팩트",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 739,
          "problem_letter": "5",
          "problem_id": 6464,
          "problem_name": "Horse Shoe Scoring",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 739,
          "problem_letter": "6",
          "problem_id": 6465,
          "problem_name": "Stats",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 739,
          "problem_letter": "7",
          "problem_id": 6466,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 740,
      "contest_name": "1996 South Central USA Regional Programming Contest",
      "contest_full_name": "1996 South Central USA Regional Programming Contest",
      "contest_year": 1996,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 740,
          "problem_letter": "1",
          "problem_id": 6467,
          "problem_name": "Prime Cuts",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 740,
          "problem_letter": "2",
          "problem_id": 6468,
          "problem_name": "Gears on a Board",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 740,
          "problem_letter": "3",
          "problem_id": 6469,
          "problem_name": "Uniform Generator",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 740,
          "problem_letter": "4",
          "problem_id": 6470,
          "problem_name": "Excuses, Excuses!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "parsing",
            "regular expression",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "regex",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 740,
          "problem_letter": "5",
          "problem_id": 6471,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 740,
          "problem_letter": "6",
          "problem_id": 6472,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 741,
      "contest_name": "1995 South Central USA Regional Programming Contest",
      "contest_full_name": "1995 South Central USA Regional Programming Contest",
      "contest_year": 1995,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 741,
          "problem_letter": "1",
          "problem_id": 6473,
          "problem_name": "Unix ls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 741,
          "problem_letter": "2",
          "problem_id": 6474,
          "problem_name": "Palindromes",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 741,
          "problem_letter": "3",
          "problem_id": 6475,
          "problem_name": "M*A*S*H",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 741,
          "problem_letter": "4",
          "problem_id": 6476,
          "problem_name": "Postscript",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "parsing",
            "precomputation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "precomputation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 741,
          "problem_letter": "5",
          "problem_id": 6477,
          "problem_name": "Radar Scopes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 741,
          "problem_letter": "6",
          "problem_id": 6478,
          "problem_name": "Message Routing",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "graph theory",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 742,
      "contest_name": "NCNA 1993",
      "contest_full_name": "NCNA 1993",
      "contest_year": 1993,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 742,
          "problem_letter": "A",
          "problem_id": 6479,
          "problem_name": "Factorial Frequencies",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 742,
          "problem_letter": "B",
          "problem_id": 6480,
          "problem_name": "Identifying Legal Pascal Real Constants",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 742,
          "problem_letter": "C",
          "problem_id": 6481,
          "problem_name": "Extrapolation Using a Difference Table",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "polynomial interpolation"
          ],
          "tag_keys": [
            "math",
            "polynomial_interpolation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "polynomial_interpolation",
              "name": "polynomial interpolation",
              "boj_tag_id": 209
            }
          ]
        },
        {
          "contest_id": 742,
          "problem_letter": "D",
          "problem_id": 6482,
          "problem_name": "Evaluating Simple C Expressions",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 742,
          "problem_letter": "E",
          "problem_id": 6483,
          "problem_name": "The Finite State Text-Processing Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 742,
          "problem_letter": "F",
          "problem_id": 6484,
          "problem_name": "PostScript Emulation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 742,
          "problem_letter": "G",
          "problem_id": 6485,
          "problem_name": "Inventory Maintenance",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 743,
      "contest_name": "1996 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "1996 Mid-Atlantic Regional Programming Contest",
      "contest_year": 1996,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 743,
          "problem_letter": "1",
          "problem_id": 6486,
          "problem_name": "Cowculations",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "2",
          "problem_id": 6487,
          "problem_name": "두 직선의 교차 여부",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "3",
          "problem_id": 6488,
          "problem_name": "Hi-Q",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "4",
          "problem_id": 6489,
          "problem_name": "Call Forwarding",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "simulation",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "simulation",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "5",
          "problem_id": 6490,
          "problem_name": "Making the Grade",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "mathematics",
            "simulation",
            "statistics"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "simulation",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "6",
          "problem_id": 6491,
          "problem_name": "Perfection",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "7",
          "problem_id": 6492,
          "problem_name": "Shipping Routes",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "shortest path",
            "set / map by hashing",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "shortest_path",
            "hash_set",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 743,
          "problem_letter": "8",
          "problem_id": 6493,
          "problem_name": "Slurpys",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "string",
            "recursion",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "recursion",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        }
      ]
    },
    {
      "contest_id": 758,
      "contest_name": "CTU Open Contest 2012",
      "contest_full_name": "CTU Open Contest 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 758,
          "problem_letter": "A",
          "problem_id": 6612,
          "problem_name": "개미의 이동",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 758,
          "problem_letter": "B",
          "problem_id": 6613,
          "problem_name": "버그잡는 꿍",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "string",
            "stack",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "stack",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 758,
          "problem_letter": "C",
          "problem_id": 6606,
          "problem_name": "Charlie the Cockchafer",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 758,
          "problem_letter": "D",
          "problem_id": 6607,
          "problem_name": "Gregory the Grasshopper",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 758,
          "problem_letter": "E",
          "problem_id": 6608,
          "problem_name": "Lisa the Ladybug",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 758,
          "problem_letter": "F",
          "problem_id": 6609,
          "problem_name": "모기곱셈",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 758,
          "problem_letter": "G",
          "problem_id": 6610,
          "problem_name": "Rhinoceros Beetle",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 758,
          "problem_letter": "H",
          "problem_id": 6611,
          "problem_name": "Simon the Spider",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "depth-first search",
            "set / map by hashing",
            "disjoint set",
            "priority queue",
            "minimum spanning tree",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "dfs",
            "hash_set",
            "disjoint_set",
            "priority_queue",
            "mst",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        }
      ]
    },
    {
      "contest_id": 759,
      "contest_name": "CTU Open Contest 2011",
      "contest_full_name": "CTU Open Contest 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 759,
          "problem_letter": "A",
          "problem_id": 6614,
          "problem_name": "Analog Clock Display",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "B",
          "problem_id": 6615,
          "problem_name": "콜라츠 추측",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "C",
          "problem_id": 6616,
          "problem_name": "문자열 암호화",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "D",
          "problem_id": 6617,
          "problem_name": "Mine the Gradient",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 759,
          "problem_letter": "E",
          "problem_id": 6618,
          "problem_name": "Invasion",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "F",
          "problem_id": 6619,
          "problem_name": "Intergalactic Mortgage",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "G",
          "problem_id": 6620,
          "problem_name": "Simple Polygon",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "set / map",
            "sweeping",
            "set / map by trees",
            "line segment intersection check"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "set",
            "sweeping",
            "tree_set",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "H",
          "problem_id": 6621,
          "problem_name": "Ambiguous Result",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 759,
          "problem_letter": "I",
          "problem_id": 6622,
          "problem_name": "Domino tiling",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 760,
      "contest_name": "CTU Open Contest 2010",
      "contest_full_name": "CTU Open Contest 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 760,
          "problem_letter": "A",
          "problem_id": 6623,
          "problem_name": "Arbitrage?",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "floyd–warshall",
            "graph theory",
            "set / map by hashing",
            "parsing",
            "string",
            "shortest path",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "floyd_warshall",
            "graphs",
            "hash_set",
            "parsing",
            "string",
            "shortest_path",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 760,
          "problem_letter": "B",
          "problem_id": 6624,
          "problem_name": "Bus Schedules",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 760,
          "problem_letter": "C",
          "problem_id": 6625,
          "problem_name": "Bus Clock Display",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 760,
          "problem_letter": "D",
          "problem_id": 6626,
          "problem_name": "Measuring Problem Difficulty",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "cdq",
            "data structures",
            "divide and conquer",
            "dynamic programming",
            "segment tree",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "cdq",
            "data_structures",
            "divide_and_conquer",
            "dp",
            "segtree",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "cdq",
              "name": "cdq",
              "boj_tag_id": 237
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 760,
          "problem_letter": "E",
          "problem_id": 6627,
          "problem_name": "The Easiest Problem is This One",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 760,
          "problem_letter": "F",
          "problem_id": 6628,
          "problem_name": "Prohibición de fumar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 760,
          "problem_letter": "G",
          "problem_id": 6629,
          "problem_name": "Pyramid Guards",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 760,
          "problem_letter": "H",
          "problem_id": 6630,
          "problem_name": "Hack around the Lock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 760,
          "problem_letter": "I",
          "problem_id": 6631,
          "problem_name": "God Save the i-th Queen",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 761,
      "contest_name": "CTU Open Contest 2009",
      "contest_full_name": "CTU Open Contest 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 761,
          "problem_letter": "A",
          "problem_id": 6632,
          "problem_name": "Arable Area",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 761,
          "problem_letter": "C",
          "problem_id": 6633,
          "problem_name": "Clock Captcha",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 761,
          "problem_letter": "D",
          "problem_id": 6634,
          "problem_name": "Digital Display",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 761,
          "problem_letter": "I",
          "problem_id": 6635,
          "problem_name": "Intriguing Identifiers",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 761,
          "problem_letter": "L",
          "problem_id": 6636,
          "problem_name": "Letter Lies",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 761,
          "problem_letter": "O",
          "problem_id": 6637,
          "problem_name": "Odd Opportunities",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 761,
          "problem_letter": "P",
          "problem_id": 6638,
          "problem_name": "Peculiar Primes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 761,
          "problem_letter": "R",
          "problem_id": 6639,
          "problem_name": "Robotic Rails",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 761,
          "problem_letter": "S",
          "problem_id": 6640,
          "problem_name": "Suspicious Stocks",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 762,
      "contest_name": "CTU Open Contest 2008",
      "contest_full_name": "CTU Open Contest 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 762,
          "problem_letter": "A",
          "problem_id": 6641,
          "problem_name": "Alea iacta est",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "B",
          "problem_id": 6642,
          "problem_name": "On-Line Banking",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "C",
          "problem_id": 6643,
          "problem_name": "International Collegiate Programming Contest",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 762,
          "problem_letter": "D",
          "problem_id": 6644,
          "problem_name": "Careful Declaration",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "longest common subsequence"
          ],
          "tag_keys": [
            "dp",
            "lcs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "lcs",
              "name": "longest common subsequence",
              "boj_tag_id": 219
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "E",
          "problem_id": 6645,
          "problem_name": "Stock Exchange",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "F",
          "problem_id": 6646,
          "problem_name": "Wooden Fence",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "G",
          "problem_id": 6647,
          "problem_name": "Safe Gambling",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "prefix sum",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "prefix_sum",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "H",
          "problem_id": 6648,
          "problem_name": "Government Help",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 762,
          "problem_letter": "I",
          "problem_id": 6649,
          "problem_name": "Tree Insertions",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "arbitrary precision / big integers",
            "combinatorics",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "tree"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "combinatorics",
            "dfs",
            "graphs",
            "graph_traversal",
            "math",
            "trees"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 763,
      "contest_name": "CTU Open Contest 2007",
      "contest_full_name": "CTU Open Contest 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 763,
          "problem_letter": "B",
          "problem_id": 6650,
          "problem_name": "Catch the Bus!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 763,
          "problem_letter": "C",
          "problem_id": 6651,
          "problem_name": "Calendar of Events",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 763,
          "problem_letter": "E",
          "problem_id": 6652,
          "problem_name": "Roman Expressions",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 763,
          "problem_letter": "G",
          "problem_id": 6653,
          "problem_name": "Geometric Shapes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 763,
          "problem_letter": "I",
          "problem_id": 6654,
          "problem_name": "Corporate Identity",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "string",
            "binary search",
            "set / map",
            "hashing",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "binary_search",
            "set",
            "hashing",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 763,
          "problem_letter": "M",
          "problem_id": 6655,
          "problem_name": "Money Money Money, Must Be Funny",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 763,
          "problem_letter": "R",
          "problem_id": 6656,
          "problem_name": "Railway Transportation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "constructive",
            "data structures",
            "greedy",
            "parametric search",
            "queue",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "constructive",
            "data_structures",
            "greedy",
            "parametric_search",
            "queue",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 763,
          "problem_letter": "S",
          "problem_id": 6657,
          "problem_name": "Soccer Tournament",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "case work",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 763,
          "problem_letter": "T",
          "problem_id": 6658,
          "problem_name": "Hypertheseus",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 764,
      "contest_name": "CTU Open Contest 2005",
      "contest_full_name": "CTU Open Contest 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 764,
          "problem_letter": "A",
          "problem_id": 6659,
          "problem_name": "All Friends",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "depth-first search",
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dfs",
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "B",
          "problem_id": 6660,
          "problem_name": "Board Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 764,
          "problem_letter": "C",
          "problem_id": 6661,
          "problem_name": "Crane",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "data structures",
            "geometry",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "geometry",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "D",
          "problem_id": 6662,
          "problem_name": "Divisors",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "E",
          "problem_id": 6663,
          "problem_name": "Emag eht htiw Em Pleh",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "F",
          "problem_id": 6664,
          "problem_name": "Failing Roads",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "parsing",
            "recursion",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "recursion",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "G",
          "problem_id": 6665,
          "problem_name": "Go Endgame",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "greedy",
            "simulation",
            "game theory"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "H",
          "problem_id": 6666,
          "problem_name": "Help Me with the Game",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 764,
          "problem_letter": "I",
          "problem_id": 6667,
          "problem_name": "IVXLCDM",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 765,
      "contest_name": "CTU Open Contest 2004",
      "contest_full_name": "CTU Open Contest 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 765,
          "problem_letter": "A",
          "problem_id": 6668,
          "problem_name": "Agents",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 765,
          "problem_letter": "B",
          "problem_id": 6669,
          "problem_name": "Boatherds",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "centroid",
            "centroid decomposition",
            "divide and conquer",
            "smaller to larger technique",
            "tree"
          ],
          "tag_keys": [
            "centroid",
            "centroid_decomposition",
            "divide_and_conquer",
            "smaller_to_larger",
            "trees"
          ],
          "tag_details": [
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "C",
          "problem_id": 6670,
          "problem_name": "C Looooops",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "D",
          "problem_id": 6671,
          "problem_name": "Death to Binary?",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "E",
          "problem_id": 6672,
          "problem_name": "Electricity",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "articulation points and bridges",
            "biconnected component"
          ],
          "tag_keys": [
            "graphs",
            "articulation",
            "bcc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "F",
          "problem_id": 6673,
          "problem_name": "Firepersons",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "dp",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "G",
          "problem_id": 6674,
          "problem_name": "God of the Vile Baskers",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "hashing",
            "sliding window"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "hashing",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "H",
          "problem_id": 6675,
          "problem_name": "Herbalists",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "graph theory",
            "planar graph"
          ],
          "tag_keys": [
            "graphs",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "I",
          "problem_id": 6676,
          "problem_name": "Inglish-Number Translator",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 765,
          "problem_letter": "J",
          "problem_id": 6677,
          "problem_name": "Japan Plotter Driver",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 766,
      "contest_name": "CTU Open Contest 2003",
      "contest_full_name": "CTU Open Contest 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 766,
          "problem_letter": "B",
          "problem_id": 6678,
          "problem_name": "Bridge Hands",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 766,
          "problem_letter": "C",
          "problem_id": 2091,
          "problem_name": "동전",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "greedy",
            "bruteforcing",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "bruteforcing",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 766,
          "problem_letter": "D",
          "problem_id": 6680,
          "problem_name": "Building a New Depot",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "sorting",
            "ad-hoc",
            "geometry",
            "set / map",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc",
            "geometry",
            "set",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 766,
          "problem_letter": "H",
          "problem_id": 6681,
          "problem_name": "Truck History",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 766,
          "problem_letter": "N",
          "problem_id": 6682,
          "problem_name": "Base Numbers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 766,
          "problem_letter": "P",
          "problem_id": 6683,
          "problem_name": "Paper Cutting",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 766,
          "problem_letter": "R",
          "problem_id": 6684,
          "problem_name": "Hexagonal Routes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 766,
          "problem_letter": "S",
          "problem_id": 6685,
          "problem_name": "Storehouse",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 766,
          "problem_letter": "T",
          "problem_id": 6686,
          "problem_name": "Traffic Jam",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 767,
      "contest_name": "CTU Open Contest 2002",
      "contest_full_name": "CTU Open Contest 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 767,
          "problem_letter": "B",
          "problem_id": 6687,
          "problem_name": "Sea Battle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 767,
          "problem_letter": "C",
          "problem_id": 6688,
          "problem_name": "The Die Is Cast",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "sorting",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "sorting",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "D",
          "problem_id": 6689,
          "problem_name": "Defragmentation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "functional graph",
            "graph theory"
          ],
          "tag_keys": [
            "functional_graph",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "F",
          "problem_id": 6690,
          "problem_name": "Formatting Text",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "H",
          "problem_id": 6691,
          "problem_name": "Hole Cutter",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "value / coordinate compression",
            "flood-fill",
            "graph theory",
            "graph traversal",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "coordinate_compression",
            "flood_fill",
            "graphs",
            "graph_traversal",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "M",
          "problem_id": 6692,
          "problem_name": "Interesting Maze Game",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "graph theory",
            "graph traversal",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "graph_traversal",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "R",
          "problem_id": 6693,
          "problem_name": "Complicated Route",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "simulation",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "simulation",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "S",
          "problem_id": 6694,
          "problem_name": "The Perfect Symmetry",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "data structures",
            "sorting",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "sorting",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "V",
          "problem_id": 6695,
          "problem_name": "Mysterious Villa",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "bitmask",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bitmask",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 767,
          "problem_letter": "W",
          "problem_id": 6696,
          "problem_name": "Too Much Water",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        }
      ]
    },
    {
      "contest_id": 768,
      "contest_name": "NCPC 2004",
      "contest_full_name": "NCPC 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 768,
          "problem_letter": "A",
          "problem_id": 6697,
          "problem_name": "Pizza delivery",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 768,
          "problem_letter": "B",
          "problem_id": 6698,
          "problem_name": "Ball bearings",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 768,
          "problem_letter": "C",
          "problem_id": 6699,
          "problem_name": "S-Nim",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 768,
          "problem_letter": "D",
          "problem_id": 6700,
          "problem_name": "Sylvester construction",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 768,
          "problem_letter": "E",
          "problem_id": 6701,
          "problem_name": "Who owns the Amiga?",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 768,
          "problem_letter": "F",
          "problem_id": 6702,
          "problem_name": "Lazy Evaluation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 768,
          "problem_letter": "G",
          "problem_id": 6703,
          "problem_name": "Easter holidays",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 768,
          "problem_letter": "H",
          "problem_id": 6704,
          "problem_name": "Tourist",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 769,
      "contest_name": "NCPC 2003",
      "contest_full_name": "NCPC 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 769,
          "problem_letter": "A",
          "problem_id": 6705,
          "problem_name": "Hardware",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 769,
          "problem_letter": "B",
          "problem_id": 6706,
          "problem_name": "Budget",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 769,
          "problem_letter": "C",
          "problem_id": 6707,
          "problem_name": "Frogger",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 769,
          "problem_letter": "D",
          "problem_id": 6708,
          "problem_name": "Gallup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 769,
          "problem_letter": "E",
          "problem_id": 6709,
          "problem_name": "Jackpot",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 769,
          "problem_letter": "F",
          "problem_id": 6710,
          "problem_name": "Spiderman’s workout",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 769,
          "problem_letter": "G",
          "problem_id": 6711,
          "problem_name": "Subway planning",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "two-pointer"
          ],
          "tag_keys": [
            "geometry",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 769,
          "problem_letter": "H",
          "problem_id": 6712,
          "problem_name": "Exploding CPU",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "binary search",
            "primality test",
            "precomputation",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "binary_search",
            "primality_test",
            "precomputation",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        }
      ]
    },
    {
      "contest_id": 770,
      "contest_name": "NCPC 2002",
      "contest_full_name": "NCPC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 770,
          "problem_letter": "A",
          "problem_id": 6713,
          "problem_name": "The Mailbox Manufacturers Problem",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 770,
          "problem_letter": "B",
          "problem_id": 6714,
          "problem_name": "Parallel computer simulator",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 770,
          "problem_letter": "C",
          "problem_id": 6715,
          "problem_name": "Moving Pianos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 770,
          "problem_letter": "D",
          "problem_id": 6716,
          "problem_name": "Collecting Beepers",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 770,
          "problem_letter": "E",
          "problem_id": 6717,
          "problem_name": "Quantum",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "bitmask",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "bitmask",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 770,
          "problem_letter": "F",
          "problem_id": 6718,
          "problem_name": "Goldbach’s conjecture",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 770,
          "problem_letter": "G",
          "problem_id": 6719,
          "problem_name": "Downpayment",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 770,
          "problem_letter": "H",
          "problem_id": 6720,
          "problem_name": "Simplified λ-evaluations",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "string",
            "parsing",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        }
      ]
    },
    {
      "contest_id": 771,
      "contest_name": "NCPC 2001",
      "contest_full_name": "NCPC 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 771,
          "problem_letter": "A",
          "problem_id": 6721,
          "problem_name": "Backward numbers",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 771,
          "problem_letter": "B",
          "problem_id": 6722,
          "problem_name": "Christmas presents",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "knapsack",
            "traceback"
          ],
          "tag_keys": [
            "knapsack",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 771,
          "problem_letter": "C",
          "problem_id": 6723,
          "problem_name": "Tournament ranking",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "priority queue",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "priority_queue",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 771,
          "problem_letter": "D",
          "problem_id": 6724,
          "problem_name": "Directed mazes",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 771,
          "problem_letter": "E",
          "problem_id": 6725,
          "problem_name": "Connecting islands",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "graph theory",
            "line segment intersection check",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "graphs",
            "line_intersection",
            "mst"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 771,
          "problem_letter": "F",
          "problem_id": 6726,
          "problem_name": "A language for constants",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 771,
          "problem_letter": "G",
          "problem_id": 6727,
          "problem_name": "Bridge placements",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 771,
          "problem_letter": "H",
          "problem_id": 6728,
          "problem_name": "Request for permission",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "sorting",
            "geometry",
            "line segment intersection check",
            "half plane intersection",
            "boolean operations on geometric objects",
            "voronoi diagram"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "sorting",
            "geometry",
            "line_intersection",
            "half_plane_intersection",
            "geometric_boolean_operations",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        }
      ]
    },
    {
      "contest_id": 772,
      "contest_name": "NCPC 2000",
      "contest_full_name": "NCPC 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 772,
          "problem_letter": "A",
          "problem_id": 6729,
          "problem_name": "Traffic planning",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 772,
          "problem_letter": "B",
          "problem_id": 6730,
          "problem_name": "A model railroad",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 772,
          "problem_letter": "C",
          "problem_id": 6731,
          "problem_name": "Comment removal",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 772,
          "problem_letter": "D",
          "problem_id": 6732,
          "problem_name": "R.Ø.L.P.",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "data structures",
            "string",
            "parsing",
            "deque",
            "utf-8 inputs"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "parsing",
            "deque",
            "utf8"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "utf8",
              "name": "utf-8 inputs",
              "boj_tag_id": 199
            }
          ]
        },
        {
          "contest_id": 772,
          "problem_letter": "E",
          "problem_id": 6733,
          "problem_name": "A fair jury",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 772,
          "problem_letter": "F",
          "problem_id": 6734,
          "problem_name": "Radio direction finder",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 772,
          "problem_letter": "G",
          "problem_id": 6735,
          "problem_name": "Returning books",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 773,
      "contest_name": "IIPC 2006",
      "contest_full_name": "IIPC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran > Iran Internet Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 773,
          "problem_letter": "A",
          "problem_id": 6736,
          "problem_name": "The Idiot of the Year Contest!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 773,
          "problem_letter": "B",
          "problem_id": 6737,
          "problem_name": "Parsing Real Numbers",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "parsing",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "parsing",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 773,
          "problem_letter": "C",
          "problem_id": 6738,
          "problem_name": "Co-workers from Hell",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 773,
          "problem_letter": "D",
          "problem_id": 6739,
          "problem_name": "Connected Gheeves",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 773,
          "problem_letter": "E",
          "problem_id": 6740,
          "problem_name": "Rotating Scoreboard",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "half plane intersection",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "half_plane_intersection",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 773,
          "problem_letter": "F",
          "problem_id": 6741,
          "problem_name": "ACM Underground",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 773,
          "problem_letter": "G",
          "problem_id": 6742,
          "problem_name": "Expression Evaluator",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 773,
          "problem_letter": "H",
          "problem_id": 6743,
          "problem_name": "Rectangle Cutting",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "depth-first search",
            "disjoint set",
            "flood-fill",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "disjoint_set",
            "flood_fill",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 774,
      "contest_name": "IIPC 2005",
      "contest_full_name": "IIPC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran > Iran Internet Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 774,
          "problem_letter": "A",
          "problem_id": 2615,
          "problem_name": "오목",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "B",
          "problem_id": 6744,
          "problem_name": "Parallelogram Counting",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "data structures",
            "sorting",
            "geometry",
            "combinatorics",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "sorting",
            "geometry",
            "combinatorics",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "C",
          "problem_id": 2116,
          "problem_name": "주사위 쌓기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "D",
          "problem_id": 6745,
          "problem_name": "Software Company",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "dynamic programming"
          ],
          "tag_keys": [
            "binary_search",
            "dp"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "E",
          "problem_id": 6746,
          "problem_name": "The Happy Worm",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "F",
          "problem_id": 6747,
          "problem_name": "Median Weight Bead",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "shortest path",
            "depth-first search",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "set",
            "bfs",
            "shortest_path",
            "dfs",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "G",
          "problem_id": 2616,
          "problem_name": "소형기관차",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 774,
          "problem_letter": "H",
          "problem_id": 6748,
          "problem_name": "Odd Loving Bakers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 826,
      "contest_name": "2012 Japan Domestic Contest",
      "contest_full_name": "2012 Japan Domestic Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 826,
          "problem_letter": "A",
          "problem_id": 7015,
          "problem_name": "Millennium",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 826,
          "problem_letter": "B",
          "problem_id": 7016,
          "problem_name": "Recurring Decimals",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "mathematics",
            "simulation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "simulation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 826,
          "problem_letter": "C",
          "problem_id": 7017,
          "problem_name": "Biased Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 826,
          "problem_letter": "D",
          "problem_id": 7018,
          "problem_name": "Railway Connection",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "floyd–warshall"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 826,
          "problem_letter": "E",
          "problem_id": 7019,
          "problem_name": "Chain-Confined Path",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 826,
          "problem_letter": "F",
          "problem_id": 7020,
          "problem_name": "Generic Poker",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 826,
          "problem_letter": "G",
          "problem_id": 7021,
          "problem_name": "Patisserie ACM",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 854,
      "contest_name": "UCIPC 2013",
      "contest_full_name": "UCIPC 2013",
      "contest_year": 2013,
      "contest_path": "University > UCIPC",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 854,
          "problem_letter": "A",
          "problem_id": 7148,
          "problem_name": "Winter Roads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "graph theory",
            "minimum spanning tree",
            "offline queries"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "mst",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "B",
          "problem_id": 7149,
          "problem_name": "Can of Worms",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "data structures",
            "graph traversal",
            "sorting",
            "segment tree",
            "binary search",
            "depth-first search",
            "strongly connected component"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "data_structures",
            "graph_traversal",
            "sorting",
            "segtree",
            "binary_search",
            "dfs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "C",
          "problem_id": 7150,
          "problem_name": "Automatic Trading",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "hashing",
            "rabin–karp",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "binary_search",
            "hashing",
            "rabin_karp",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "D",
          "problem_id": 7151,
          "problem_name": "3D Printer",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "E",
          "problem_id": 7152,
          "problem_name": "Flooding Fields",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "F",
          "problem_id": 7153,
          "problem_name": "Goat Ropes",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "duality",
            "linear programming"
          ],
          "tag_keys": [
            "duality",
            "linear_programming"
          ],
          "tag_details": [
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "G",
          "problem_id": 7154,
          "problem_name": "Job Postings",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "H",
          "problem_id": 7155,
          "problem_name": "Overlapping Maps",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "I",
          "problem_id": 7156,
          "problem_name": "Unreal Estate",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 854,
          "problem_letter": "J",
          "problem_id": 7157,
          "problem_name": "조건문",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 854,
          "problem_letter": "K",
          "problem_id": 7158,
          "problem_name": "유니폼 서브트리",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "hashing",
            "tree"
          ],
          "tag_keys": [
            "hashing",
            "trees"
          ],
          "tag_details": [
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 877,
      "contest_name": "Tehran Site 2005",
      "contest_full_name": "Tehran Site 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 877,
          "problem_letter": "A",
          "problem_id": 7286,
          "problem_name": "Ancient Keyboard",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 877,
          "problem_letter": "B",
          "problem_id": 2037,
          "problem_name": "문자메시지",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 877,
          "problem_letter": "C",
          "problem_id": 7288,
          "problem_name": "Changing Phone Numbers",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "offline queries",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "offline_queries",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 877,
          "problem_letter": "D",
          "problem_id": 1979,
          "problem_name": "극적인 곱셈",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 877,
          "problem_letter": "E",
          "problem_id": 7289,
          "problem_name": "Entertainment",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 877,
          "problem_letter": "F",
          "problem_id": 7290,
          "problem_name": "Fortune at El Dorado",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 877,
          "problem_letter": "G",
          "problem_id": 7291,
          "problem_name": "Griddy Hobby",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 877,
          "problem_letter": "H",
          "problem_id": 1982,
          "problem_name": "호텔예약",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 877,
          "problem_letter": "I",
          "problem_id": 7293,
          "problem_name": "Intercepting Missiles",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "geometry",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "geometry",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 877,
          "problem_letter": "J",
          "problem_id": 7294,
          "problem_name": "Joy of Mobile Routing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 878,
      "contest_name": "Tehran Site 2004",
      "contest_full_name": "Tehran Site 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 878,
          "problem_letter": "A",
          "problem_id": 7295,
          "problem_name": "IOI Photos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 878,
          "problem_letter": "B",
          "problem_id": 7296,
          "problem_name": "Vice City",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 878,
          "problem_letter": "C",
          "problem_id": 7297,
          "problem_name": "Fixing Codes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 878,
          "problem_letter": "D",
          "problem_id": 7298,
          "problem_name": "Wiping Words",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 878,
          "problem_letter": "E",
          "problem_id": 7299,
          "problem_name": "Food Cubes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "flood-fill",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "flood_fill",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 878,
          "problem_letter": "F",
          "problem_id": 7300,
          "problem_name": "Points",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 878,
          "problem_letter": "G",
          "problem_id": 7301,
          "problem_name": "ACM-Telecom",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 878,
          "problem_letter": "H",
          "problem_id": 7302,
          "problem_name": "Prince of Persia",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 879,
      "contest_name": "Tehran Site 2003",
      "contest_full_name": "Tehran Site 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 879,
          "problem_letter": "A",
          "problem_id": 7303,
          "problem_name": "House Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 879,
          "problem_letter": "B",
          "problem_id": 7304,
          "problem_name": "Rotten Ropes",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 879,
          "problem_letter": "C",
          "problem_id": 7305,
          "problem_name": "Optimal Keypad",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 879,
          "problem_letter": "D",
          "problem_id": 7306,
          "problem_name": "Hey, Pay Day!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 879,
          "problem_letter": "E",
          "problem_id": 7307,
          "problem_name": "Unfoldung",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 879,
          "problem_letter": "F",
          "problem_id": 7308,
          "problem_name": "A DP Problem",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 879,
          "problem_letter": "G",
          "problem_id": 7309,
          "problem_name": "Map Labeler",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 879,
          "problem_letter": "H",
          "problem_id": 7310,
          "problem_name": "Balanced Chemical Equations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 880,
      "contest_name": "Tehran Site 2002",
      "contest_full_name": "Tehran Site 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 880,
          "problem_letter": "A",
          "problem_id": 7311,
          "problem_name": "Grandpa's Other Estate",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 880,
          "problem_letter": "B",
          "problem_id": 7312,
          "problem_name": "Afshung Pizza Delivery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 880,
          "problem_letter": "C",
          "problem_id": 7313,
          "problem_name": "Housing Complexes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 880,
          "problem_letter": "D",
          "problem_id": 7314,
          "problem_name": "Spacecraft Malfunction",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 880,
          "problem_letter": "E",
          "problem_id": 7315,
          "problem_name": "Blue x Red = Bang",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 880,
          "problem_letter": "F",
          "problem_id": 7316,
          "problem_name": "JaWs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 880,
          "problem_letter": "G",
          "problem_id": 7317,
          "problem_name": "Skew Binary",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 881,
      "contest_name": "Tehran Site 2001",
      "contest_full_name": "Tehran Site 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 881,
          "problem_letter": "A",
          "problem_id": 7318,
          "problem_name": "Parencodings",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 881,
          "problem_letter": "B",
          "problem_id": 7319,
          "problem_name": "The Bermuda Triangle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 881,
          "problem_letter": "C",
          "problem_id": 7320,
          "problem_name": "Deformed Wheel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 881,
          "problem_letter": "D",
          "problem_id": 7321,
          "problem_name": "Illusive Chase",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 881,
          "problem_letter": "E",
          "problem_id": 7322,
          "problem_name": "Puzzle Out",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 881,
          "problem_letter": "F",
          "problem_id": 7323,
          "problem_name": "The Willy Memorial Program",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 881,
          "problem_letter": "G",
          "problem_id": 7324,
          "problem_name": "Parallel Expectations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 881,
          "problem_letter": "H",
          "problem_id": 7325,
          "problem_name": "University Entrance Examination",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 882,
      "contest_name": "Tehran Site 2000",
      "contest_full_name": "Tehran Site 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 882,
          "problem_letter": "A",
          "problem_id": 7326,
          "problem_name": "Number Steps",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 882,
          "problem_letter": "B",
          "problem_id": 7327,
          "problem_name": "Puzzlestan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 882,
          "problem_letter": "C",
          "problem_id": 7328,
          "problem_name": "Dynamic Declaration Language (DDL)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 882,
          "problem_letter": "D",
          "problem_id": 7329,
          "problem_name": "Color Tunnels",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 882,
          "problem_letter": "E",
          "problem_id": 7330,
          "problem_name": "Lazy Math Instructor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 882,
          "problem_letter": "F",
          "problem_id": 7331,
          "problem_name": "Buggy Sat",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 882,
          "problem_letter": "G",
          "problem_id": 7332,
          "problem_name": "편의점 알바",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "parametric search",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "parametric_search",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 882,
          "problem_letter": "H",
          "problem_id": 7333,
          "problem_name": "Dolphin Pool",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "sorting",
            "geometry",
            "sweeping",
            "deque",
            "area of a polygon"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "sorting",
            "geometry",
            "sweeping",
            "deque",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 882,
          "problem_letter": "I",
          "problem_id": 7334,
          "problem_name": "3002 Rubbery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 883,
      "contest_name": "Tehran Site 1999",
      "contest_full_name": "Tehran Site 1999",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 883,
          "problem_letter": "A",
          "problem_id": 7335,
          "problem_name": "(Your)((Term)((Project)))",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "B",
          "problem_id": 7336,
          "problem_name": "Painting A Board",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "C",
          "problem_id": 7337,
          "problem_name": "Crossed Matchings",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "D",
          "problem_id": 7338,
          "problem_name": "Counting Rectangles",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "E",
          "problem_id": 7339,
          "problem_name": "An Old Stone Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "greedy",
            "sorting",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "greedy",
            "sorting",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "F",
          "problem_id": 7340,
          "problem_name": "Magazine Delivery",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "G",
          "problem_id": 7341,
          "problem_name": "Space Ant",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "geometry",
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 883,
          "problem_letter": "H",
          "problem_id": 7342,
          "problem_name": "The Erythea Campaign",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 884,
      "contest_name": "Asia Regional - Taejon 2001",
      "contest_full_name": "Asia Regional - Taejon 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 884,
          "problem_letter": "A",
          "problem_id": 7343,
          "problem_name": "달력 놀이",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "B",
          "problem_id": 7344,
          "problem_name": "나무 막대",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "C",
          "problem_id": 7345,
          "problem_name": "다항식의 나머지 연산",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "D",
          "problem_id": 7346,
          "problem_name": "유전자 함수",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "E",
          "problem_id": 7347,
          "problem_name": "플립과 시프트",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "parity"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "F",
          "problem_id": 7348,
          "problem_name": "테이블 옮기기",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "G",
          "problem_id": 7349,
          "problem_name": "Farmland",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 884,
          "problem_letter": "H",
          "problem_id": 7350,
          "problem_name": "정사각형 부수기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 884,
          "problem_letter": "PA",
          "problem_id": 9093,
          "problem_name": "단어 뒤집기",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "PB",
          "problem_id": 9094,
          "problem_name": "수학적 호기심",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 884,
          "problem_letter": "PC",
          "problem_id": 9095,
          "problem_name": "1, 2, 3 더하기",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 885,
      "contest_name": "2001 East Central Regional Contest",
      "contest_full_name": "2001 East Central Regional Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 885,
          "problem_letter": "A",
          "problem_id": 7351,
          "problem_name": "What's In A Name?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 885,
          "problem_letter": "B",
          "problem_id": 7352,
          "problem_name": "Sorting It All Out",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "C",
          "problem_id": 7353,
          "problem_name": "Web Navigation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "D",
          "problem_id": 7354,
          "problem_name": "트리의 순서",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "combinatorics",
            "divide and conquer",
            "dynamic programming",
            "mathematics",
            "recursion",
            "tree"
          ],
          "tag_keys": [
            "combinatorics",
            "divide_and_conquer",
            "dp",
            "math",
            "recursion",
            "trees"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "E",
          "problem_id": 7355,
          "problem_name": "Space Station Shielding",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "F",
          "problem_id": 7356,
          "problem_name": "Roads Scholar",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "G",
          "problem_id": 7357,
          "problem_name": "Robots",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "H",
          "problem_id": 7358,
          "problem_name": "Square Ice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "PA",
          "problem_id": 7359,
          "problem_name": "The Worm Turns",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "PB",
          "problem_id": 7360,
          "problem_name": "Undercut",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 885,
          "problem_letter": "PC",
          "problem_id": 7361,
          "problem_name": "Currency Exchange",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 886,
      "contest_name": "2000 East Central Regional Contest",
      "contest_full_name": "2000 East Central Regional Contest",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 886,
          "problem_letter": "A",
          "problem_id": 7362,
          "problem_name": "Picnic Planning",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "B",
          "problem_id": 7004,
          "problem_name": "Poly-polygonal Numbers",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "mathematics",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "math",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "C",
          "problem_id": 7363,
          "problem_name": "Rational Approximation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "euclidean algorithm",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "euclidean",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "D",
          "problem_id": 7005,
          "problem_name": "Stacking Cubes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "ad-hoc",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "E",
          "problem_id": 7364,
          "problem_name": "Checker's Check",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "F",
          "problem_id": 7006,
          "problem_name": "To bet, or not to bet",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "G",
          "problem_id": 7007,
          "problem_name": "BSP Trees",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "geometry",
            "sorting"
          ],
          "tag_keys": [
            "geometry",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "H",
          "problem_id": 7008,
          "problem_name": "Double Trouble",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "PA",
          "problem_id": 7365,
          "problem_name": "Ride My Bicycle",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "PB",
          "problem_id": 7366,
          "problem_name": "Counting Sheep",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "PC",
          "problem_id": 7367,
          "problem_name": "Sequence",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 886,
          "problem_letter": "PD",
          "problem_id": 7368,
          "problem_name": "Untidy Desktops",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 887,
      "contest_name": "CERC 1995",
      "contest_full_name": "CERC 1995",
      "contest_year": 1995,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 887,
          "problem_letter": "A",
          "problem_id": 7369,
          "problem_name": "Maya Calendar",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 887,
          "problem_letter": "B",
          "problem_id": 7370,
          "problem_name": "Transportation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 887,
          "problem_letter": "C",
          "problem_id": 7371,
          "problem_name": "John's trip",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 887,
          "problem_letter": "D",
          "problem_id": 7372,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 887,
          "problem_letter": "E",
          "problem_id": 7373,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 887,
          "problem_letter": "F",
          "problem_id": 7374,
          "problem_name": "Joseph",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 887,
          "problem_letter": "G",
          "problem_id": 7375,
          "problem_name": "Cipher",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "exponentiation by squaring",
            "implementation",
            "mathematics",
            "permutation cycle decomposition",
            "simulation"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "implementation",
            "math",
            "permutation_cycle_decomposition",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 887,
          "problem_letter": "H",
          "problem_id": 2396,
          "problem_name": "같은 길이 막대기 만들기",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "backtracking",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "backtracking",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        }
      ]
    },
    {
      "contest_id": 888,
      "contest_name": "NWERC 2004",
      "contest_full_name": "NWERC 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 888,
          "problem_letter": "A",
          "problem_id": 7377,
          "problem_name": "Word Encoding",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 888,
          "problem_letter": "B",
          "problem_id": 7378,
          "problem_name": "Watchdog",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 888,
          "problem_letter": "C",
          "problem_id": 7379,
          "problem_name": "Taxi Cab Scheme",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 888,
          "problem_letter": "D",
          "problem_id": 7380,
          "problem_name": "Pseudo-random Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 888,
          "problem_letter": "E",
          "problem_id": 7381,
          "problem_name": "Card Game Cheater",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 888,
          "problem_letter": "F",
          "problem_id": 7382,
          "problem_name": "Investment",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 888,
          "problem_letter": "G",
          "problem_id": 7383,
          "problem_name": "Pipes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 888,
          "problem_letter": "H",
          "problem_id": 7384,
          "problem_name": "SETI",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 888,
          "problem_letter": "I",
          "problem_id": 7385,
          "problem_name": "Minimax Triangulation",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "geometry",
            "line segment intersection check",
            "area of a polygon"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "line_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        }
      ]
    },
    {
      "contest_id": 889,
      "contest_name": "NEERC 2004",
      "contest_full_name": "NEERC 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 889,
          "problem_letter": "A",
          "problem_id": 7386,
          "problem_name": "Ancient Cipher",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 889,
          "problem_letter": "B",
          "problem_id": 7387,
          "problem_name": "Box",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "sorting",
            "case work"
          ],
          "tag_keys": [
            "sorting",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 889,
          "problem_letter": "C",
          "problem_id": 7388,
          "problem_name": "Chandelier",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 889,
          "problem_letter": "D",
          "problem_id": 7389,
          "problem_name": "Document Indexing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 889,
          "problem_letter": "E",
          "problem_id": 7390,
          "problem_name": "Easy Trading",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 889,
          "problem_letter": "F",
          "problem_id": 7391,
          "problem_name": "Find the Border",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "graph theory",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "graphs",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 889,
          "problem_letter": "G",
          "problem_id": 7392,
          "problem_name": "Gunman",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 889,
          "problem_letter": "H",
          "problem_id": 2220,
          "problem_name": "힙 정렬",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy"
          ],
          "tag_keys": [
            "data_structures",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 889,
          "problem_letter": "I",
          "problem_id": 7393,
          "problem_name": "Irrelevant Elements",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 889,
          "problem_letter": "J",
          "problem_id": 7394,
          "problem_name": "Joke with Turtles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 889,
          "problem_letter": "K",
          "problem_id": 7395,
          "problem_name": "Kingdom of Magic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 889,
          "problem_letter": "L",
          "problem_id": 7396,
          "problem_name": "Lattice Animals",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        }
      ]
    },
    {
      "contest_id": 890,
      "contest_name": "NEERC 2003",
      "contest_full_name": "NEERC 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 890,
          "problem_letter": "A",
          "problem_id": 7397,
          "problem_name": "Alternative Scale of Notation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "number theory",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "B",
          "problem_id": 7398,
          "problem_name": "Bring Them There",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 890,
          "problem_letter": "C",
          "problem_id": 7399,
          "problem_name": "Code Formatting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "D",
          "problem_id": 7400,
          "problem_name": "Data Mining",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "E",
          "problem_id": 7401,
          "problem_name": "Entropy",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "constructive",
            "parametric search",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "constructive",
            "parametric_search",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "F",
          "problem_id": 7402,
          "problem_name": "Farmer Bill’s Problem",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "G",
          "problem_id": 7403,
          "problem_name": "Game",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "game theory"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "H",
          "problem_id": 7404,
          "problem_name": "Hypertransmission",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "I",
          "problem_id": 7405,
          "problem_name": "Illumination",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 890,
          "problem_letter": "J",
          "problem_id": 7406,
          "problem_name": "Jurassic Remains",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 890,
          "problem_letter": "K",
          "problem_id": 7407,
          "problem_name": "King’s Quest",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "bipartite_matching",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        }
      ]
    },
    {
      "contest_id": 891,
      "contest_name": "NEERC 2002",
      "contest_full_name": "NEERC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 891,
          "problem_letter": "A",
          "problem_id": 7408,
          "problem_name": "Amusing Numbers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 891,
          "problem_letter": "B",
          "problem_id": 7409,
          "problem_name": "Bricks",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 891,
          "problem_letter": "C",
          "problem_id": 7410,
          "problem_name": "Cricket Field",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 891,
          "problem_letter": "D",
          "problem_id": 7411,
          "problem_name": "Decoding Task",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 891,
          "problem_letter": "E",
          "problem_id": 7412,
          "problem_name": "Evacuation Plan",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 891,
          "problem_letter": "F",
          "problem_id": 7413,
          "problem_name": "Folding",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 891,
          "problem_letter": "G",
          "problem_id": 7414,
          "problem_name": "Ghost Busters",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 891,
          "problem_letter": "H",
          "problem_id": 7415,
          "problem_name": "Heroes Of Might And Magic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 891,
          "problem_letter": "I",
          "problem_id": 7416,
          "problem_name": "Inlay Cutters",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 892,
      "contest_name": "NEERC 2001",
      "contest_full_name": "NEERC 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 892,
          "problem_letter": "A",
          "problem_id": 7417,
          "problem_name": "Team them up!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 892,
          "problem_letter": "B",
          "problem_id": 7418,
          "problem_name": "Brackets sequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "constructive"
          ],
          "tag_keys": [
            "dp",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 892,
          "problem_letter": "C",
          "problem_id": 7419,
          "problem_name": "Cable master",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 892,
          "problem_letter": "D",
          "problem_id": 7420,
          "problem_name": "맹독 방벽",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 892,
          "problem_letter": "E",
          "problem_id": 7421,
          "problem_name": "Chemical reactions",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 892,
          "problem_letter": "F",
          "problem_id": 7422,
          "problem_name": "Statistical trouble",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 892,
          "problem_letter": "G",
          "problem_id": 7423,
          "problem_name": "Library",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 892,
          "problem_letter": "H",
          "problem_id": 7424,
          "problem_name": "숫자 쌍",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 893,
      "contest_name": "NEERC 2000",
      "contest_full_name": "NEERC 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 893,
          "problem_letter": "A",
          "problem_id": 7425,
          "problem_name": "Flip Game",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "B",
          "problem_id": 7426,
          "problem_name": "Buffer Manager",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "C",
          "problem_id": 7427,
          "problem_name": "Triathlon",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "geometry",
            "arbitrary precision / big integers",
            "half plane intersection"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arbitrary_precision",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "D",
          "problem_id": 7428,
          "problem_name": "Domino Puzzle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "case work",
            "eulerian path / circuit",
            "graph theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "eulerian_path",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "E",
          "problem_id": 7429,
          "problem_name": "Binary Search",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "implementation"
          ],
          "tag_keys": [
            "binary_search",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "F",
          "problem_id": 7430,
          "problem_name": "Frontier",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "floyd–warshall",
            "geometry",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "geometry",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "G",
          "problem_id": 7431,
          "problem_name": "Garland",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search",
            "mathematics",
            "parametric search",
            "ternary search"
          ],
          "tag_keys": [
            "binary_search",
            "math",
            "parametric_search",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 893,
          "problem_letter": "H",
          "problem_id": 7432,
          "problem_name": "디스크 트리",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "string",
            "tree",
            "set / map",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "set",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        }
      ]
    },
    {
      "contest_id": 894,
      "contest_name": "NEERC 1999",
      "contest_full_name": "NEERC 1999",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 894,
          "problem_letter": "A",
          "problem_id": 7433,
          "problem_name": "Divisibility",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 894,
          "problem_letter": "B",
          "problem_id": 7434,
          "problem_name": "Loan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 894,
          "problem_letter": "C",
          "problem_id": 7435,
          "problem_name": "Expression",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 894,
          "problem_letter": "D",
          "problem_id": 7436,
          "problem_name": "Computer Dialogue",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 894,
          "problem_letter": "E",
          "problem_id": 7437,
          "problem_name": "Lock Manager",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 894,
          "problem_letter": "F",
          "problem_id": 7438,
          "problem_name": "Dictionary",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 894,
          "problem_letter": "G",
          "problem_id": 7439,
          "problem_name": "Highways",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 894,
          "problem_letter": "H",
          "problem_id": 7440,
          "problem_name": "Advertisement",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 895,
      "contest_name": "NEERC 1998",
      "contest_full_name": "NEERC 1998",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 895,
          "problem_letter": "A",
          "problem_id": 7441,
          "problem_name": "False coin",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 895,
          "problem_letter": "B",
          "problem_id": 7442,
          "problem_name": "Rating",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 895,
          "problem_letter": "C",
          "problem_id": 7443,
          "problem_name": "Fence",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "calculus",
            "physics"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "calculus",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 895,
          "problem_letter": "D",
          "problem_id": 7444,
          "problem_name": "Parliament",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 895,
          "problem_letter": "E",
          "problem_id": 7445,
          "problem_name": "Defragment",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 895,
          "problem_letter": "F",
          "problem_id": 7446,
          "problem_name": "The dog task",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "maximum flow",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 895,
          "problem_letter": "G",
          "problem_id": 7447,
          "problem_name": "Spell checker",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 895,
          "problem_letter": "H",
          "problem_id": 7448,
          "problem_name": "Gangsters",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 896,
      "contest_name": "SWERC 2005",
      "contest_full_name": "SWERC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 896,
          "problem_letter": "A",
          "problem_id": 7449,
          "problem_name": "The mysterious X network",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 896,
          "problem_letter": "B",
          "problem_id": 7450,
          "problem_name": "Bin Packing",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 896,
          "problem_letter": "C",
          "problem_id": 7451,
          "problem_name": "On Storing Clothes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 896,
          "problem_letter": "D",
          "problem_id": 7452,
          "problem_name": "Buy or Build",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "data structures",
            "bruteforcing",
            "bitmask",
            "disjoint set",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "bruteforcing",
            "bitmask",
            "disjoint_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 896,
          "problem_letter": "E",
          "problem_id": 7453,
          "problem_name": "합이 0인 네 정수",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "binary search",
            "two-pointer",
            "meet in the middle"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "two_pointer",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 896,
          "problem_letter": "F",
          "problem_id": 7454,
          "problem_name": "Keep the Customer Satisfied",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 896,
          "problem_letter": "G",
          "problem_id": 7455,
          "problem_name": "UFO Cubes in Roswell",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 896,
          "problem_letter": "H",
          "problem_id": 7456,
          "problem_name": "Black Box",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 896,
          "problem_letter": "I",
          "problem_id": 7457,
          "problem_name": "Pixel Shuffle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 896,
          "problem_letter": "J",
          "problem_id": 7458,
          "problem_name": "Consecutive ones",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 897,
      "contest_name": "NEERC Northern Subregional 2004",
      "contest_full_name": "NEERC Northern Subregional 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 897,
          "problem_letter": "A",
          "problem_id": 7459,
          "problem_name": "Angry Teacher",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "B",
          "problem_id": 7460,
          "problem_name": "Beth Tableaux",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "C",
          "problem_id": 7461,
          "problem_name": "Collecting Bugs",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "D",
          "problem_id": 7462,
          "problem_name": "Drawing Windows",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 897,
          "problem_letter": "E",
          "problem_id": 7463,
          "problem_name": "Ellipse",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "geometry",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "F",
          "problem_id": 7464,
          "problem_name": "Fool’s Day",
          "problem_difficulty": "Ruby I",
          "difficulty_level": 30,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "G",
          "problem_id": 7465,
          "problem_name": "Graveyard Design",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "two-pointer"
          ],
          "tag_keys": [
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "H",
          "problem_id": 7466,
          "problem_name": "Honey and Milk Land",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "I",
          "problem_id": 7467,
          "problem_name": "Incredible! Impossible!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "J",
          "problem_id": 7468,
          "problem_name": "Jackpot",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 897,
          "problem_letter": "K",
          "problem_id": 7469,
          "problem_name": "K번째 수",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "sorting",
            "segment tree",
            "binary search",
            "merge sort tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree",
            "binary_search",
            "merge_sort_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            }
          ]
        }
      ]
    },
    {
      "contest_id": 898,
      "contest_name": "NEERC Northern Subregional 2003",
      "contest_full_name": "NEERC Northern Subregional 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 898,
          "problem_letter": "A",
          "problem_id": 7470,
          "problem_name": "Artinals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 898,
          "problem_letter": "B",
          "problem_id": 7471,
          "problem_name": "Banal Tickets",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "C",
          "problem_id": 7472,
          "problem_name": "Crankshaft",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "D",
          "problem_id": 7473,
          "problem_name": "Destroying The Graph",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "E",
          "problem_id": 7474,
          "problem_name": "Experiment \"X\": Explosions Expected",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "arbitrary precision / big integers",
            "combinatorics",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "combinatorics",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "F",
          "problem_id": 7475,
          "problem_name": "Factoring a Polynomial",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "G",
          "problem_id": 7476,
          "problem_name": "최대 공통 증가 수열",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "H",
          "problem_id": 7477,
          "problem_name": "Highways",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "I",
          "problem_id": 7478,
          "problem_name": "Invariant Polynomials",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "J",
          "problem_id": 7479,
          "problem_name": "Jogging",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 898,
          "problem_letter": "K",
          "problem_id": 7480,
          "problem_name": "Key Insertion",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "string",
            "tree",
            "disjoint set",
            "splay tree",
            "rope"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "disjoint_set",
            "splay_tree",
            "rope"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            },
            {
              "key": "rope",
              "name": "rope",
              "boj_tag_id": 159
            }
          ]
        }
      ]
    },
    {
      "contest_id": 899,
      "contest_name": "AUCPC Semi-Final 2010",
      "contest_full_name": "AUCPC Semi-Final 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest > All-Ukrainian Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 899,
          "problem_letter": "A",
          "problem_id": 7481,
          "problem_name": "ATM놀이",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "B",
          "problem_id": 7482,
          "problem_name": "상자 만들기",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "C",
          "problem_id": 7483,
          "problem_name": "Weird sort",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "D",
          "problem_id": 7484,
          "problem_name": "Bowling",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "E",
          "problem_id": 7485,
          "problem_name": "Exam",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 899,
          "problem_letter": "F",
          "problem_id": 7486,
          "problem_name": "Platforms",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 899,
          "problem_letter": "G",
          "problem_id": 7487,
          "problem_name": "The Very Greatest Common Divisor",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory",
            "arbitrary precision / big integers",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arbitrary_precision",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "H",
          "problem_id": 7488,
          "problem_name": "앵그리 라바",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "sorting",
            "sweeping",
            "difference array",
            "physics"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "sweeping",
            "difference_array",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "I",
          "problem_id": 7489,
          "problem_name": "팩토리얼",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 899,
          "problem_letter": "J",
          "problem_id": 7490,
          "problem_name": "0 만들기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 900,
      "contest_name": "AUCPC 2010",
      "contest_full_name": "AUCPC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest > All-Ukrainian Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 900,
          "problem_letter": "A",
          "problem_id": 7491,
          "problem_name": "Lucky Controller",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 900,
          "problem_letter": "B",
          "problem_id": 7492,
          "problem_name": "Bukazoids",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 900,
          "problem_letter": "C",
          "problem_id": 7493,
          "problem_name": "Collisions",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 900,
          "problem_letter": "D",
          "problem_id": 7494,
          "problem_name": "Dancers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sorting",
            "geometry",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "geometry",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 900,
          "problem_letter": "E",
          "problem_id": 7495,
          "problem_name": "Embassy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 900,
          "problem_letter": "F",
          "problem_id": 7496,
          "problem_name": "Dictionary of Obscene Words",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 900,
          "problem_letter": "G",
          "problem_id": 7497,
          "problem_name": "Greatest Product",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 900,
          "problem_letter": "H",
          "problem_id": 7498,
          "problem_name": "Fractal Cake",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 900,
          "problem_letter": "I",
          "problem_id": 7499,
          "problem_name": "Hexaroman Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 900,
          "problem_letter": "J",
          "problem_id": 7500,
          "problem_name": "Beam in Tunnel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 900,
          "problem_letter": "K",
          "problem_id": 7501,
          "problem_name": "Key",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 900,
          "problem_letter": "L",
          "problem_id": 7502,
          "problem_name": "Game on Chessboard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "ad-hoc",
            "case work",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "case_work",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        }
      ]
    },
    {
      "contest_id": 913,
      "contest_name": "NZPC 2009",
      "contest_full_name": "NZPC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 913,
          "problem_letter": "A",
          "problem_id": 7580,
          "problem_name": "Team Selection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 913,
          "problem_letter": "B",
          "problem_id": 7581,
          "problem_name": "Cuboids",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "C",
          "problem_id": 7582,
          "problem_name": "On the Bus",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "D",
          "problem_id": 7583,
          "problem_name": "Jumbled Words",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "E",
          "problem_id": 7584,
          "problem_name": "Noughts & Crosses",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "F",
          "problem_id": 7585,
          "problem_name": "Brackets",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "G",
          "problem_id": 7586,
          "problem_name": "Untied Airlines",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "H",
          "problem_id": 7587,
          "problem_name": "Anagrams",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "I",
          "problem_id": 7588,
          "problem_name": "Amicable",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "J",
          "problem_id": 7589,
          "problem_name": "Balanced Change",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 913,
          "problem_letter": "K",
          "problem_id": 7590,
          "problem_name": "Expressions",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 913,
          "problem_letter": "L",
          "problem_id": 7591,
          "problem_name": "Circles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 913,
          "problem_letter": "M",
          "problem_id": 7592,
          "problem_name": "Stars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 913,
          "problem_letter": "N",
          "problem_id": 7593,
          "problem_name": "Missing Letters",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 913,
          "problem_letter": "O",
          "problem_id": 7594,
          "problem_name": "Jury Compromise",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 914,
      "contest_name": "NZPC 2008",
      "contest_full_name": "NZPC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 914,
          "problem_letter": "A",
          "problem_id": 7595,
          "problem_name": "Triangles",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "B",
          "problem_id": 7596,
          "problem_name": "MP3 Songs",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "C",
          "problem_id": 7597,
          "problem_name": "Tennis",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "D",
          "problem_id": 7598,
          "problem_name": "Bookings",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "E",
          "problem_id": 7599,
          "problem_name": "Library Codes",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "F",
          "problem_id": 7600,
          "problem_name": "문자가 몇갤까",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "G",
          "problem_id": 7601,
          "problem_name": "Outfits",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "H",
          "problem_id": 7602,
          "problem_name": "Exercise",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "I",
          "problem_id": 7603,
          "problem_name": "Queen Kingdom",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 914,
          "problem_letter": "J",
          "problem_id": 7604,
          "problem_name": "Reconstruction Trees",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "tree",
            "divide and conquer"
          ],
          "tag_keys": [
            "trees",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "K",
          "problem_id": 7605,
          "problem_name": "Traffic Engineering",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 914,
          "problem_letter": "L",
          "problem_id": 7606,
          "problem_name": "The Race",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 914,
          "problem_letter": "M",
          "problem_id": 7607,
          "problem_name": "리스트 계산기",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 914,
          "problem_letter": "N",
          "problem_id": 7608,
          "problem_name": "Bargain or No Bargain",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 936,
      "contest_name": "NEERC Western Subregional 2005",
      "contest_full_name": "NEERC Western Subregional 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 936,
          "problem_letter": "A",
          "problem_id": 7760,
          "problem_name": "Cocktail",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 936,
          "problem_letter": "B",
          "problem_id": 7761,
          "problem_name": "Increasing subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "precomputation"
          ],
          "tag_keys": [
            "dp",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "C",
          "problem_id": 7762,
          "problem_name": "Map Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "randomization"
          ],
          "tag_keys": [
            "randomization"
          ],
          "tag_details": [
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "D",
          "problem_id": 7763,
          "problem_name": "Map Generator returns (MG-II)",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "E",
          "problem_id": 7764,
          "problem_name": "Trigonometric optimization",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 936,
          "problem_letter": "F",
          "problem_id": 7765,
          "problem_name": "Supersquare",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "G",
          "problem_id": 7766,
          "problem_name": "Pseudographical recognizer",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "H",
          "problem_id": 7767,
          "problem_name": "“Roman” corridor",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dijkstra's",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dijkstra",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "I",
          "problem_id": 7768,
          "problem_name": "Parabolic teleports",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "graph theory",
            "geometry",
            "binary search",
            "shortest path",
            "floyd–warshall",
            "calculus",
            "ternary search",
            "heuristics"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "geometry",
            "binary_search",
            "shortest_path",
            "floyd_warshall",
            "calculus",
            "ternary_search",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 936,
          "problem_letter": "J",
          "problem_id": 7769,
          "problem_name": "Magic pyramid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 937,
      "contest_name": "NEERC Northern Subregional 2012",
      "contest_full_name": "NEERC Northern Subregional 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 937,
          "problem_letter": "A",
          "problem_id": 7770,
          "problem_name": "아즈텍 피라미드",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "B",
          "problem_id": 7771,
          "problem_name": "배틀쉽",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "C",
          "problem_id": 7772,
          "problem_name": "구조 이성질체",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "dynamic programming",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "dp",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "D",
          "problem_id": 7773,
          "problem_name": "Deepest Station",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "E",
          "problem_id": 7774,
          "problem_name": "콘센트",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "F",
          "problem_id": 7775,
          "problem_name": "최종 순위",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "constructive",
            "greedy"
          ],
          "tag_keys": [
            "constructive",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "G",
          "problem_id": 7776,
          "problem_name": "Grid",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "geometry",
            "number theory",
            "constructive",
            "simulation",
            "euclidean algorithm",
            "randomization"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "geometry",
            "number_theory",
            "constructive",
            "simulation",
            "euclidean",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "H",
          "problem_id": 7777,
          "problem_name": "병원",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dominator tree",
            "maximum flow",
            "graph theory",
            "tree"
          ],
          "tag_keys": [
            "dominator_tree",
            "flow",
            "graphs",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dominator_tree",
              "name": "dominator tree",
              "boj_tag_id": 135
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "I",
          "problem_id": 7778,
          "problem_name": "Intelligent Design",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bitmask",
            "bruteforcing",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "J",
          "problem_id": 7779,
          "problem_name": "Juggle with Criteria",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "bruteforcing",
            "constructive",
            "precomputation"
          ],
          "tag_keys": [
            "ad_hoc",
            "bruteforcing",
            "constructive",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 937,
          "problem_letter": "K",
          "problem_id": 7780,
          "problem_name": "Kingdom Subdivision",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 937,
          "problem_letter": "L",
          "problem_id": 7781,
          "problem_name": "Log Analysis",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 939,
      "contest_name": "INC 2008",
      "contest_full_name": "INC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 939,
          "problem_letter": "A",
          "problem_id": 7792,
          "problem_name": "Superstitious Skylab Tower",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 939,
          "problem_letter": "B",
          "problem_id": 7793,
          "problem_name": "Panda Land 5: Panda Programming Language",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 939,
          "problem_letter": "C",
          "problem_id": 7794,
          "problem_name": "Almost Clear",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 939,
          "problem_letter": "D",
          "problem_id": 7795,
          "problem_name": "먹을 것인가 먹힐 것인가",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "sorting",
            "binary search",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 939,
          "problem_letter": "E",
          "problem_id": 7796,
          "problem_name": "Indomie",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 939,
          "problem_letter": "F",
          "problem_id": 7797,
          "problem_name": "In Queries",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 939,
          "problem_letter": "G",
          "problem_id": 7798,
          "problem_name": "Hotel",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 939,
          "problem_letter": "H",
          "problem_id": 7799,
          "problem_name": "Walaweh",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "string",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        }
      ]
    },
    {
      "contest_id": 940,
      "contest_name": "INC 2007 Qual",
      "contest_full_name": "INC 2007 Qual",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 940,
          "problem_letter": "A",
          "problem_id": 7800,
          "problem_name": "The Chosen Sub Matrix",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "sorting",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "sorting",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 940,
          "problem_letter": "B",
          "problem_id": 7801,
          "problem_name": "Avoiding Financial Nightmare",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 940,
          "problem_letter": "C",
          "problem_id": 7802,
          "problem_name": "No Pause Telegraph",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 940,
          "problem_letter": "D",
          "problem_id": 7803,
          "problem_name": "Burger, French Fries, Soft Drink",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "string",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "string",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 940,
          "problem_letter": "E",
          "problem_id": 7804,
          "problem_name": "Taxi!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        }
      ]
    },
    {
      "contest_id": 941,
      "contest_name": "INC 2007",
      "contest_full_name": "INC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 941,
          "problem_letter": "A",
          "problem_id": 7805,
          "problem_name": "Minimum Swap",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "string",
            "sorting",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 941,
          "problem_letter": "B",
          "problem_id": 7806,
          "problem_name": "GCD!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 941,
          "problem_letter": "C",
          "problem_id": 7807,
          "problem_name": "Playing With Domino",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "eulerian path / circuit",
            "graph theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "eulerian_path",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 941,
          "problem_letter": "D",
          "problem_id": 7808,
          "problem_name": "Email from The Professor",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 941,
          "problem_letter": "E",
          "problem_id": 7809,
          "problem_name": "The Adventure in Panda Land Part I: Panda Number",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 941,
          "problem_letter": "F",
          "problem_id": 7810,
          "problem_name": "Jakarta Traffic Jam",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 941,
          "problem_letter": "G",
          "problem_id": 7811,
          "problem_name": "Sultan's Land",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "dynamic programming"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 941,
          "problem_letter": "H",
          "problem_id": 7812,
          "problem_name": "중앙 트리",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "dynamic programming on trees",
            "rerooting on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "dp_tree",
            "rerooting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "rerooting",
              "name": "rerooting on trees",
              "boj_tag_id": 233
            }
          ]
        }
      ]
    },
    {
      "contest_id": 942,
      "contest_name": "INC 2010",
      "contest_full_name": "INC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 942,
          "problem_letter": "A",
          "problem_id": 7813,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "B",
          "problem_id": 7814,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "C",
          "problem_id": 7815,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "D",
          "problem_id": 7816,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "E",
          "problem_id": 7817,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "F",
          "problem_id": 7818,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "G",
          "problem_id": 7819,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "H",
          "problem_id": 7820,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 942,
          "problem_letter": "I",
          "problem_id": 7821,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 943,
      "contest_name": "ACM-ICPC Regional Jakarta 2010",
      "contest_full_name": "ACM-ICPC Regional Jakarta 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 943,
          "problem_letter": "A",
          "problem_id": 7822,
          "problem_name": "Worst Locations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 943,
          "problem_letter": "B",
          "problem_id": 7823,
          "problem_name": "Counting BST",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 943,
          "problem_letter": "C",
          "problem_id": 7824,
          "problem_name": "Playing With Stones",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 943,
          "problem_letter": "D",
          "problem_id": 7825,
          "problem_name": "Arm Wrestling Tournament",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 943,
          "problem_letter": "E",
          "problem_id": 7826,
          "problem_name": "Lightning Energy Report",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "segment tree with lazy propagation",
            "lowest common ancestor",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "lazyprop",
            "lca",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 943,
          "problem_letter": "F",
          "problem_id": 7827,
          "problem_name": "Transitive Closure",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 943,
          "problem_letter": "G",
          "problem_id": 7828,
          "problem_name": "더해",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 943,
          "problem_letter": "H",
          "problem_id": 7829,
          "problem_name": "Serial Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 943,
          "problem_letter": "I",
          "problem_id": 7830,
          "problem_name": "Romantic Date",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 943,
          "problem_letter": "J",
          "problem_id": 7831,
          "problem_name": "Fire Drill",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "breadth-first search",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "implementation",
            "knapsack"
          ],
          "tag_keys": [
            "bfs",
            "dp",
            "graphs",
            "graph_traversal",
            "implementation",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 944,
      "contest_name": "ACM-ICPC Regional Singapore 2007",
      "contest_full_name": "ACM-ICPC Regional Singapore 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Singapore",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 944,
          "problem_letter": "A",
          "problem_id": 7832,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 944,
          "problem_letter": "B",
          "problem_id": 7833,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 944,
          "problem_letter": "C",
          "problem_id": 7834,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 944,
          "problem_letter": "D",
          "problem_id": 7835,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 944,
          "problem_letter": "E",
          "problem_id": 7836,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 944,
          "problem_letter": "F",
          "problem_id": 7837,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 944,
          "problem_letter": "G",
          "problem_id": 7838,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 945,
      "contest_name": "NEERC Far-Eastern Subregional 2005",
      "contest_full_name": "NEERC Far-Eastern Subregional 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Far Eastern Russia Regional Contest",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 945,
          "problem_letter": "A",
          "problem_id": 7839,
          "problem_name": "Pizza schedule",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 945,
          "problem_letter": "B",
          "problem_id": 7840,
          "problem_name": "Texture Tile",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "string",
            "hashing",
            "sliding window",
            "rabin–karp"
          ],
          "tag_keys": [
            "string",
            "hashing",
            "sliding_window",
            "rabin_karp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            }
          ]
        },
        {
          "contest_id": 945,
          "problem_letter": "C",
          "problem_id": 7841,
          "problem_name": "Count Squares",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 945,
          "problem_letter": "D",
          "problem_id": 7842,
          "problem_name": "Road Accident",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 945,
          "problem_letter": "E",
          "problem_id": 7843,
          "problem_name": "Terrarium",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 945,
          "problem_letter": "F",
          "problem_id": 7844,
          "problem_name": "Sudoku Checker",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 945,
          "problem_letter": "G",
          "problem_id": 7845,
          "problem_name": "ACM Computer Factory",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 946,
      "contest_name": "NEERC Far-Eastern Subregional 2004",
      "contest_full_name": "NEERC Far-Eastern Subregional 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Far Eastern Russia Regional Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 946,
          "problem_letter": "A",
          "problem_id": 7846,
          "problem_name": "ACM Rank Table",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 946,
          "problem_letter": "B",
          "problem_id": 7847,
          "problem_name": "Sales Report",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 946,
          "problem_letter": "C",
          "problem_id": 7848,
          "problem_name": "Random Gap",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 946,
          "problem_letter": "D",
          "problem_id": 7849,
          "problem_name": "Radio Coverage",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 946,
          "problem_letter": "E",
          "problem_id": 7850,
          "problem_name": "Circle Drawing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 946,
          "problem_letter": "F",
          "problem_id": 7851,
          "problem_name": "Harder Sokoban Problem",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        }
      ]
    },
    {
      "contest_id": 947,
      "contest_name": "NEERC Far-Eastern Subregional 2003",
      "contest_full_name": "NEERC Far-Eastern Subregional 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Far Eastern Russia Regional Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 947,
          "problem_letter": "A",
          "problem_id": 7852,
          "problem_name": "Nearest number - 2",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 947,
          "problem_letter": "B",
          "problem_id": 7853,
          "problem_name": "Advanced ASCII Cubes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 947,
          "problem_letter": "C",
          "problem_id": 7854,
          "problem_name": "Water pipe",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "meet in the middle"
          ],
          "tag_keys": [
            "mitm"
          ],
          "tag_details": [
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 947,
          "problem_letter": "D",
          "problem_id": 7855,
          "problem_name": "One is good, but two is better",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 947,
          "problem_letter": "E",
          "problem_id": 7856,
          "problem_name": "Beach cut",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "prefix sum",
            "convex hull",
            "pythagoras theorem",
            "area of a polygon"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "prefix_sum",
            "convex_hull",
            "pythagoras",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 947,
          "problem_letter": "F",
          "problem_id": 7857,
          "problem_name": "Simple prefix compression",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 948,
      "contest_name": "NEERC Far-Eastern Subregional 2002",
      "contest_full_name": "NEERC Far-Eastern Subregional 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Far Eastern Russia Regional Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 948,
          "problem_letter": "A",
          "problem_id": 7858,
          "problem_name": "Tetris Alphabet",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 948,
          "problem_letter": "B",
          "problem_id": 7859,
          "problem_name": "Network Saboteur",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 948,
          "problem_letter": "C",
          "problem_id": 7860,
          "problem_name": "Burned Calendar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 948,
          "problem_letter": "D",
          "problem_id": 7861,
          "problem_name": "Longest Ordered Subsequence",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 948,
          "problem_letter": "E",
          "problem_id": 7862,
          "problem_name": "Falling cards",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 948,
          "problem_letter": "F",
          "problem_id": 7863,
          "problem_name": "Very Simple Problem",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 949,
      "contest_name": "NEERC Far-Eastern Subregional 2000",
      "contest_full_name": "NEERC Far-Eastern Subregional 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Far Eastern Russia Regional Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 949,
          "problem_letter": "A",
          "problem_id": 7864,
          "problem_name": "Binary Witch",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "dynamic programming",
            "set / map by hashing",
            "implementation",
            "simulation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "hash_set",
            "implementation",
            "simulation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 949,
          "problem_letter": "B",
          "problem_id": 7865,
          "problem_name": "Fool Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 949,
          "problem_letter": "C",
          "problem_id": 7866,
          "problem_name": "Spreadsheet",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 949,
          "problem_letter": "D",
          "problem_id": 7867,
          "problem_name": "PreQueL",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 949,
          "problem_letter": "E",
          "problem_id": 7868,
          "problem_name": "해밍 수열",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "sorting",
            "number theory",
            "set / map"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "sorting",
            "number_theory",
            "set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 949,
          "problem_letter": "F",
          "problem_id": 7869,
          "problem_name": "두 원",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 950,
      "contest_name": "CERC 2009",
      "contest_full_name": "CERC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 950,
          "problem_letter": "A",
          "problem_id": 7870,
          "problem_name": "Accountant notes",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "aho-corasick",
            "data structures",
            "dynamic programming",
            "hashing",
            "implementation",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "data_structures",
            "dp",
            "hashing",
            "implementation",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "B",
          "problem_id": 7871,
          "problem_name": "Better and faster!",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "C",
          "problem_id": 7872,
          "problem_name": "Cave",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "D",
          "problem_id": 7873,
          "problem_name": "Decision",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "E",
          "problem_id": 7874,
          "problem_name": "Everybody may get lost in space",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "case work",
            "inclusion and exclusion",
            "line segment intersection check",
            "calculus",
            "geometry; 3d",
            "boolean operations on geometric objects",
            "green's theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "case_work",
            "inclusion_and_exclusion",
            "line_intersection",
            "calculus",
            "geometry_3d",
            "geometric_boolean_operations",
            "green"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            },
            {
              "key": "green",
              "name": "green's theorem",
              "boj_tag_id": 183
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "F",
          "problem_id": 7875,
          "problem_name": "(False) faces",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [
            "mathematics",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "G",
          "problem_id": 7876,
          "problem_name": "Garlands",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "H",
          "problem_id": 7877,
          "problem_name": "Hypervisor MacrOS",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 950,
          "problem_letter": "I",
          "problem_id": 7878,
          "problem_name": "Islands",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "sorting",
            "sweeping",
            "disjoint set",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "sweeping",
            "disjoint_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "J",
          "problem_id": 7879,
          "problem_name": "Jack’s socks",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "articulation points and bridges",
            "graph theory"
          ],
          "tag_keys": [
            "articulation",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 950,
          "problem_letter": "K",
          "problem_id": 7880,
          "problem_name": "Knowledge for the masses",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 951,
      "contest_name": "CERC 2008",
      "contest_full_name": "CERC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 951,
          "problem_letter": "A",
          "problem_id": 7881,
          "problem_name": "YAPTCHA",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "B",
          "problem_id": 7882,
          "problem_name": "Skyscrapers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "C",
          "problem_id": 7883,
          "problem_name": "Business Cards",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "chinese remainder theorem",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "crt",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "D",
          "problem_id": 7884,
          "problem_name": "Museum",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 951,
          "problem_letter": "E",
          "problem_id": 7885,
          "problem_name": "Morphing is fun",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 951,
          "problem_letter": "F",
          "problem_id": 7886,
          "problem_name": "Tower",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "exponentiation by squaring",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "G",
          "problem_id": 7887,
          "problem_name": "Suffix reconstruction",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "constructive",
            "greedy",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "constructive",
            "greedy",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "H",
          "problem_id": 7888,
          "problem_name": "두 교수",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "case work",
            "data structures",
            "greedy",
            "priority queue",
            "sorting"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "greedy",
            "priority_queue",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "I",
          "problem_id": 7889,
          "problem_name": "힙 세기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "tree",
            "number theory",
            "combinatorics",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "trees",
            "number_theory",
            "combinatorics",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "J",
          "problem_id": 7890,
          "problem_name": "가까운 점 찾기",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "set / map",
            "voronoi diagram"
          ],
          "tag_keys": [
            "geometry",
            "set",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "PA",
          "problem_id": 7891,
          "problem_name": "Can you add this?",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 951,
          "problem_letter": "PB",
          "problem_id": 7892,
          "problem_name": "Johnny and the Quadratic Equation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "backtracking",
            "case work",
            "mathematics",
            "number theory",
            "recursion"
          ],
          "tag_keys": [
            "backtracking",
            "case_work",
            "math",
            "number_theory",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        }
      ]
    },
    {
      "contest_id": 952,
      "contest_name": "NWERC 2003",
      "contest_full_name": "NWERC 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 952,
          "problem_letter": "A",
          "problem_id": 3066,
          "problem_name": "브리징 시그널",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "binary_search",
            "lis"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 952,
          "problem_letter": "B",
          "problem_id": 7893,
          "problem_name": "Vase collection",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 952,
          "problem_letter": "C",
          "problem_id": 2329,
          "problem_name": "장애물 설계",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 952,
          "problem_letter": "D",
          "problem_id": 2318,
          "problem_name": "상사 찾기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "sorting",
            "tree",
            "segment tree",
            "set / map",
            "set / map by trees",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "sorting",
            "trees",
            "segtree",
            "set",
            "tree_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 952,
          "problem_letter": "E",
          "problem_id": 2379,
          "problem_name": "트리 탐색하기",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "sorting",
            "tree",
            "depth-first search",
            "hashing",
            "tree isomorphism"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "sorting",
            "trees",
            "dfs",
            "hashing",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 952,
          "problem_letter": "F",
          "problem_id": 7895,
          "problem_name": "Prison rearrangement",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 952,
          "problem_letter": "G",
          "problem_id": 7896,
          "problem_name": "Sightseeing tour",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 952,
          "problem_letter": "H",
          "problem_id": 7897,
          "problem_name": "A number game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 953,
      "contest_name": "NWERC 2002",
      "contest_full_name": "NWERC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 953,
          "problem_letter": "A",
          "problem_id": 7898,
          "problem_name": "Euro Efficiency",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 953,
          "problem_letter": "B",
          "problem_id": 7899,
          "problem_name": "Markov Trains",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 953,
          "problem_letter": "C",
          "problem_id": 7900,
          "problem_name": "Hansel and Grethel",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 953,
          "problem_letter": "D",
          "problem_id": 7901,
          "problem_name": "Floors",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 953,
          "problem_letter": "E",
          "problem_id": 7902,
          "problem_name": "The Picnic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 953,
          "problem_letter": "F",
          "problem_id": 7903,
          "problem_name": "Pearls",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 953,
          "problem_letter": "G",
          "problem_id": 7904,
          "problem_name": "허프만 트리",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "backtracking",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "backtracking",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 953,
          "problem_letter": "H",
          "problem_id": 7905,
          "problem_name": "Input",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 954,
      "contest_name": "AMPPZ 2011",
      "contest_full_name": "AMPPZ 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 954,
          "problem_letter": "A",
          "problem_id": 7906,
          "problem_name": "Arithmetic Rectangle",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "B",
          "problem_id": 7907,
          "problem_name": "Bytean Road Race",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "graph theory",
            "directed acyclic graph",
            "topological sorting",
            "planar graph"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "dag",
            "topological_sorting",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "C",
          "problem_id": 7908,
          "problem_name": "Will It Stop?",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "D",
          "problem_id": 7909,
          "problem_name": "Ants",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "E",
          "problem_id": 7910,
          "problem_name": "Gophers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "F",
          "problem_id": 7911,
          "problem_name": "Laundry",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "G",
          "problem_id": 7912,
          "problem_name": "Bits Generator",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 954,
          "problem_letter": "H",
          "problem_id": 7913,
          "problem_name": "Afternoon Tea",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "I",
          "problem_id": 7914,
          "problem_name": "Intelligence Quotient",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "J",
          "problem_id": 7915,
          "problem_name": "Cave",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "mathematics",
            "number theory",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "math",
            "number_theory",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 954,
          "problem_letter": "K",
          "problem_id": 7916,
          "problem_name": "Cross Spider",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 955,
      "contest_name": "AMPPZ 2010",
      "contest_full_name": "AMPPZ 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 955,
          "problem_letter": "A",
          "problem_id": 7917,
          "problem_name": "Potrójne drzewa",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "B",
          "problem_id": 7918,
          "problem_name": "Triangulacja",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "C",
          "problem_id": 7919,
          "problem_name": "Strażak",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "backtracking",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "backtracking",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 955,
          "problem_letter": "D",
          "problem_id": 7920,
          "problem_name": "Słoneczna wyspa",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "E",
          "problem_id": 7921,
          "problem_name": "Dziadkowie",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 955,
          "problem_letter": "F",
          "problem_id": 7922,
          "problem_name": "Ciasteczkowy potwór",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 955,
          "problem_letter": "G",
          "problem_id": 7923,
          "problem_name": "Spacer",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "H",
          "problem_id": 7924,
          "problem_name": "Suma kontrolna",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "I",
          "problem_id": 7925,
          "problem_name": "Wąż",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "J",
          "problem_id": 7926,
          "problem_name": "Chciwi rolnicy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 955,
          "problem_letter": "K",
          "problem_id": 7927,
          "problem_name": "ADOM",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 956,
      "contest_name": "AMPPZ 2008",
      "contest_full_name": "AMPPZ 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 956,
          "problem_letter": "A",
          "problem_id": 7928,
          "problem_name": "Artefakt",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 956,
          "problem_letter": "B",
          "problem_id": 7929,
          "problem_name": "Bardzo brudny łańcuch",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 956,
          "problem_letter": "C",
          "problem_id": 7930,
          "problem_name": "Ciekawy Książę",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 956,
          "problem_letter": "D",
          "problem_id": 7931,
          "problem_name": "Dzień Szachisty",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 956,
          "problem_letter": "E",
          "problem_id": 7932,
          "problem_name": "Egzotyczny układ mechaniczny",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 956,
          "problem_letter": "F",
          "problem_id": 7933,
          "problem_name": "Fiołkowe puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 956,
          "problem_letter": "G",
          "problem_id": 7934,
          "problem_name": "Goździki",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 956,
          "problem_letter": "H",
          "problem_id": 7935,
          "problem_name": "Historia bawełny",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 956,
          "problem_letter": "I",
          "problem_id": 7936,
          "problem_name": "N의 존재",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "number theory",
            "discrete logarithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "discrete_log"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "discrete_log",
              "name": "discrete logarithm",
              "boj_tag_id": 146
            }
          ]
        },
        {
          "contest_id": 956,
          "problem_letter": "J",
          "problem_id": 7937,
          "problem_name": "Jaka data?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 957,
      "contest_name": "AMPPZ 2007",
      "contest_full_name": "AMPPZ 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 957,
          "problem_letter": "A",
          "problem_id": 7938,
          "problem_name": "Mniam mniam",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "inclusion and exclusion",
            "möbius inversion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "inclusion_and_exclusion",
            "mobius_inversion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            }
          ]
        },
        {
          "contest_id": 957,
          "problem_letter": "B",
          "problem_id": 7939,
          "problem_name": "Sygnał",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 957,
          "problem_letter": "C",
          "problem_id": 7940,
          "problem_name": "Armaty",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 957,
          "problem_letter": "D",
          "problem_id": 7941,
          "problem_name": "Sortowanie",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 957,
          "problem_letter": "E",
          "problem_id": 7942,
          "problem_name": "Piąty wymiar",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "meet in the middle"
          ],
          "tag_keys": [
            "ad_hoc",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 957,
          "problem_letter": "F",
          "problem_id": 7943,
          "problem_name": "Tetris",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "case work",
            "dynamic programming",
            "dynamic programming using bitfield",
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "case_work",
            "dp",
            "dp_bitfield",
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 957,
          "problem_letter": "G",
          "problem_id": 7944,
          "problem_name": "Autostrady",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 957,
          "problem_letter": "H",
          "problem_id": 7945,
          "problem_name": "Hurtownia czekolady",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 957,
          "problem_letter": "I",
          "problem_id": 7946,
          "problem_name": "Supermarket",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 958,
      "contest_name": "AMPPZ 2005",
      "contest_full_name": "AMPPZ 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 958,
          "problem_letter": "A",
          "problem_id": 7947,
          "problem_name": "Koncert",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 958,
          "problem_letter": "B",
          "problem_id": 7948,
          "problem_name": "Smok",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 958,
          "problem_letter": "C",
          "problem_id": 7949,
          "problem_name": "Cebula",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "convex hull",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 958,
          "problem_letter": "D",
          "problem_id": 7950,
          "problem_name": "Szaszłyki",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 958,
          "problem_letter": "E",
          "problem_id": 7951,
          "problem_name": "Radio",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 958,
          "problem_letter": "F",
          "problem_id": 7952,
          "problem_name": "Jaskinia",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 958,
          "problem_letter": "G",
          "problem_id": 7953,
          "problem_name": "Skarb",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 958,
          "problem_letter": "H",
          "problem_id": 7954,
          "problem_name": "Liczby Erdösa",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "offline queries",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "offline_queries",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 958,
          "problem_letter": "I",
          "problem_id": 7955,
          "problem_name": "Popisowa samoobrona",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "game theory"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 958,
          "problem_letter": "J",
          "problem_id": 7956,
          "problem_name": "Liczby piwne",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "ad-hoc",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        }
      ]
    },
    {
      "contest_id": 962,
      "contest_name": "AMPPZ 2012",
      "contest_full_name": "AMPPZ 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 962,
          "problem_letter": "A",
          "problem_id": 7974,
          "problem_name": "Vending Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 962,
          "problem_letter": "B",
          "problem_id": 7975,
          "problem_name": "버스 여행",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "C",
          "problem_id": 7976,
          "problem_name": "수열",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "greedy",
            "parity"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "parity"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "D",
          "problem_id": 7977,
          "problem_name": "크리스 마틴",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "E",
          "problem_id": 7978,
          "problem_name": "Evaluation of an Expression",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "string",
            "tree",
            "number theory",
            "dynamic programming on trees",
            "parsing",
            "fast fourier transform",
            "discrete logarithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "string",
            "trees",
            "number_theory",
            "dp_tree",
            "parsing",
            "fft",
            "discrete_log"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "discrete_log",
              "name": "discrete logarithm",
              "boj_tag_id": 146
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "F",
          "problem_id": 7979,
          "problem_name": "Formula One",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "G",
          "problem_id": 7980,
          "problem_name": "Save the Dinosaurs",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 962,
          "problem_letter": "H",
          "problem_id": 7981,
          "problem_name": "장비를 정지합니다",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "I",
          "problem_id": 7982,
          "problem_name": "순열 그래프의 연결성 판별",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "ad-hoc"
          ],
          "tag_keys": [
            "data_structures",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "J",
          "problem_id": 7983,
          "problem_name": "내일 할거야",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 962,
          "problem_letter": "K",
          "problem_id": 7984,
          "problem_name": "두더지 잡기",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1059,
      "contest_name": "ACM-ICPC World Finals 2013",
      "contest_full_name": "ACM-ICPC World Finals 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1059,
          "problem_letter": "A",
          "problem_id": 8877,
          "problem_name": "Self-Assembly",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "B",
          "problem_id": 8878,
          "problem_name": "Hey, Better Bettor",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "C",
          "problem_id": 8879,
          "problem_name": "Surely You Congest",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dijkstra's",
            "maximum flow",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "flow",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "D",
          "problem_id": 8880,
          "problem_name": "인수",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "E",
          "problem_id": 8881,
          "problem_name": "Harvard",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "implementation",
            "dynamic programming",
            "string",
            "ad-hoc",
            "tree",
            "bitmask",
            "dynamic programming on trees",
            "parsing",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "string",
            "ad_hoc",
            "trees",
            "bitmask",
            "dp_tree",
            "parsing",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "F",
          "problem_id": 8882,
          "problem_name": "Low Power",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "G",
          "problem_id": 8883,
          "problem_name": "종이 지도",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "ad-hoc",
            "geometry",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "ad_hoc",
            "geometry",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "H",
          "problem_id": 8884,
          "problem_name": "마트료시카",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "I",
          "problem_id": 8885,
          "problem_name": "Pirate Chest",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "J",
          "problem_id": 8886,
          "problem_name": "오염 해결책",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "case work",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "case_work",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1059,
          "problem_letter": "K",
          "problem_id": 8887,
          "problem_name": "Up a Tree",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "implementation",
            "dynamic programming",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1060,
      "contest_name": "Asia Regional - Daejeon 2012",
      "contest_full_name": "Asia Regional - Daejeon 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1060,
          "problem_letter": "A",
          "problem_id": 8888,
          "problem_name": "Accelerator",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1060,
          "problem_letter": "B",
          "problem_id": 8889,
          "problem_name": "등고선 지도",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "segment tree with lazy propagation",
            "value / coordinate compression",
            "difference array"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "lazyprop",
            "coordinate_compression",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "C",
          "problem_id": 8890,
          "problem_name": "Critical 3-Path",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "D",
          "problem_id": 8891,
          "problem_name": "점 숫자",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "E",
          "problem_id": 8892,
          "problem_name": "팰린드롬",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "F",
          "problem_id": 8893,
          "problem_name": "Pandora",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "G",
          "problem_id": 8894,
          "problem_name": "Pattern Lock",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "H",
          "problem_id": 8895,
          "problem_name": "막대 배치",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "I",
          "problem_id": 8896,
          "problem_name": "가위 바위 보",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "J",
          "problem_id": 8897,
          "problem_name": "Slicing Tree",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "dynamic programming",
            "dynamic programming on trees",
            "stack",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "dp_tree",
            "stack",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "K",
          "problem_id": 8898,
          "problem_name": "스포츠 전문 채널 GSK",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1060,
          "problem_letter": "L",
          "problem_id": 8899,
          "problem_name": "Square Annulus",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "binary search",
            "sweeping",
            "parametric search"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "sweeping",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1061,
      "contest_name": "Asia Regional - Daejeon 2011",
      "contest_full_name": "Asia Regional - Daejeon 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1061,
          "problem_letter": "A",
          "problem_id": 8900,
          "problem_name": "Block Compaction",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "B",
          "problem_id": 8901,
          "problem_name": "화학 제품",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "C",
          "problem_id": 8902,
          "problem_name": "색상의 길이",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "D",
          "problem_id": 8903,
          "problem_name": "장비",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "case work",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "E",
          "problem_id": 8904,
          "problem_name": "가구 공장",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "F",
          "problem_id": 8905,
          "problem_name": "리트",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "G",
          "problem_id": 8906,
          "problem_name": "랩탑",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1061,
          "problem_letter": "H",
          "problem_id": 8907,
          "problem_name": "네온 사인",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "I",
          "problem_id": 8908,
          "problem_name": "Pizza Delivery",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "J",
          "problem_id": 8909,
          "problem_name": "Soju",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "priority queue",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1061,
          "problem_letter": "K",
          "problem_id": 8910,
          "problem_name": "Traveling Spiders",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1061,
          "problem_letter": "L",
          "problem_id": 8911,
          "problem_name": "거북이",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1062,
      "contest_name": "Asia Regional - Daejeon 2010",
      "contest_full_name": "Asia Regional - Daejeon 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1062,
          "problem_letter": "A",
          "problem_id": 8912,
          "problem_name": "Sales",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1062,
          "problem_letter": "B",
          "problem_id": 8913,
          "problem_name": "문자열 뽑기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1062,
          "problem_letter": "C",
          "problem_id": 8914,
          "problem_name": "Password",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1062,
          "problem_letter": "D",
          "problem_id": 8915,
          "problem_name": "Mines",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1062,
          "problem_letter": "E",
          "problem_id": 8916,
          "problem_name": "이진 검색 트리",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "combinatorics",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "combinatorics",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1062,
          "problem_letter": "E",
          "problem_id": 8944,
          "problem_name": "이진 검색 트리 2",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "combinatorics",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "combinatorics",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1062,
          "problem_letter": "F",
          "problem_id": 8917,
          "problem_name": "Tour Belt",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1062,
          "problem_letter": "G",
          "problem_id": 8918,
          "problem_name": "String Phone",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1062,
          "problem_letter": "H",
          "problem_id": 8919,
          "problem_name": "Installations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1062,
          "problem_letter": "I",
          "problem_id": 8920,
          "problem_name": "음식점 개업",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1062,
          "problem_letter": "J",
          "problem_id": 8921,
          "problem_name": "KTX 열차 기지",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "lis"
          ],
          "tag_details": [
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1063,
      "contest_name": "Asia Regional - Seoul 2009",
      "contest_full_name": "Asia Regional - Seoul 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1063,
          "problem_letter": "A",
          "problem_id": 8922,
          "problem_name": "두찌 수열",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1063,
          "problem_letter": "B",
          "problem_id": 8923,
          "problem_name": "The Lord of the Rings",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1063,
          "problem_letter": "C",
          "problem_id": 8924,
          "problem_name": "Airport",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1063,
          "problem_letter": "D",
          "problem_id": 8925,
          "problem_name": "GC-비율",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "binary search",
            "data structures",
            "geometry"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1063,
          "problem_letter": "E",
          "problem_id": 8926,
          "problem_name": "점프",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1063,
          "problem_letter": "F",
          "problem_id": 8927,
          "problem_name": "Squares",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1063,
          "problem_letter": "G",
          "problem_id": 8928,
          "problem_name": "Sizeof",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1063,
          "problem_letter": "H",
          "problem_id": 8929,
          "problem_name": "Kingdom",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1063,
          "problem_letter": "I",
          "problem_id": 8930,
          "problem_name": "Cellular Network",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1063,
          "problem_letter": "J",
          "problem_id": 8931,
          "problem_name": "Jinhan",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "2-sat",
            "data structures",
            "depth-first search",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "data_structures",
            "dfs",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1064,
      "contest_name": "Asia Regional - Seoul 2008",
      "contest_full_name": "Asia Regional - Seoul 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1064,
          "problem_letter": "A",
          "problem_id": 8932,
          "problem_name": "7종 경기",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1064,
          "problem_letter": "B",
          "problem_id": 8933,
          "problem_name": "MCS",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "sliding window"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 1064,
          "problem_letter": "C",
          "problem_id": 8934,
          "problem_name": "Homing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1064,
          "problem_letter": "D",
          "problem_id": 8935,
          "problem_name": "Cycle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1064,
          "problem_letter": "E",
          "problem_id": 8936,
          "problem_name": "Archery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1064,
          "problem_letter": "F",
          "problem_id": 8937,
          "problem_name": "Processor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1064,
          "problem_letter": "G",
          "problem_id": 1248,
          "problem_name": "Guess",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1064,
          "problem_letter": "H",
          "problem_id": 8938,
          "problem_name": "Salesmen",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1064,
          "problem_letter": "I",
          "problem_id": 8939,
          "problem_name": "Hubble Space Telescope",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1064,
          "problem_letter": "J",
          "problem_id": 8940,
          "problem_name": "Metal",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1065,
      "contest_name": "Asia Regional - Seoul 2007",
      "contest_full_name": "Asia Regional - Seoul 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1065,
          "problem_letter": "A",
          "problem_id": 8941,
          "problem_name": "Molar mass",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1065,
          "problem_letter": "B",
          "problem_id": 1701,
          "problem_name": "Cubeditor",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1065,
          "problem_letter": "C",
          "problem_id": 8942,
          "problem_name": "Network",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1065,
          "problem_letter": "D",
          "problem_id": 8943,
          "problem_name": "PHONE",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1065,
          "problem_letter": "E",
          "problem_id": 1720,
          "problem_name": "타일 코드",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1065,
          "problem_letter": "F",
          "problem_id": 8945,
          "problem_name": "Meteor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1065,
          "problem_letter": "G",
          "problem_id": 8946,
          "problem_name": "Signals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1065,
          "problem_letter": "H",
          "problem_id": 8947,
          "problem_name": "Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1065,
          "problem_letter": "I",
          "problem_id": 8948,
          "problem_name": "Turtle Graphics",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1065,
          "problem_letter": "J",
          "problem_id": 1628,
          "problem_name": "수",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1065,
          "problem_letter": "J",
          "problem_id": 1659,
          "problem_name": "수 (Hard)",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1066,
      "contest_name": "Asia Regional - Seoul 2006",
      "contest_full_name": "Asia Regional - Seoul 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1066,
          "problem_letter": "A",
          "problem_id": 1942,
          "problem_name": "디지털시계",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "simulation",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "simulation",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1066,
          "problem_letter": "B",
          "problem_id": 1969,
          "problem_name": "DNA",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1066,
          "problem_letter": "C",
          "problem_id": 8950,
          "problem_name": "Grid Panel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "D",
          "problem_id": 8951,
          "problem_name": "Travel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "E",
          "problem_id": 8952,
          "problem_name": "Roommate",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "F",
          "problem_id": 8953,
          "problem_name": "Gas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "G",
          "problem_id": 8954,
          "problem_name": "Tree",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "H",
          "problem_id": 8955,
          "problem_name": "Period",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "I",
          "problem_id": 8956,
          "problem_name": "Fire Tower",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1066,
          "problem_letter": "J",
          "problem_id": 8957,
          "problem_name": "Log Jumping",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1067,
      "contest_name": "Asia Regional - Seoul 2005",
      "contest_full_name": "Asia Regional - Seoul 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1067,
          "problem_letter": "A",
          "problem_id": 8958,
          "problem_name": "OX퀴즈",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1067,
          "problem_letter": "B",
          "problem_id": 2231,
          "problem_name": "분해합",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1067,
          "problem_letter": "C",
          "problem_id": 2233,
          "problem_name": "사과나무",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "stack",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "stack",
            "lca"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 1067,
          "problem_letter": "D",
          "problem_id": 2201,
          "problem_name": "이친수 찾기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1067,
          "problem_letter": "E",
          "problem_id": 8960,
          "problem_name": "PushPush",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1067,
          "problem_letter": "F",
          "problem_id": 8961,
          "problem_name": "Seminar Room",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1067,
          "problem_letter": "G",
          "problem_id": 8962,
          "problem_name": "Cannon’s Move",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1067,
          "problem_letter": "H",
          "problem_id": 8963,
          "problem_name": "Bond",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1067,
          "problem_letter": "I",
          "problem_id": 8964,
          "problem_name": "Roof",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1067,
          "problem_letter": "J",
          "problem_id": 2135,
          "problem_name": "문자열 압축하기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1068,
      "contest_name": "Asia Regional - Seoul 2004",
      "contest_full_name": "Asia Regional - Seoul 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1068,
          "problem_letter": "A",
          "problem_id": 8965,
          "problem_name": "Circular Sequence",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1068,
          "problem_letter": "B",
          "problem_id": 8966,
          "problem_name": "Symmetry",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1068,
          "problem_letter": "C",
          "problem_id": 8967,
          "problem_name": "Circle Dance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1068,
          "problem_letter": "D",
          "problem_id": 2385,
          "problem_name": "Secret Sharing",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1068,
          "problem_letter": "E",
          "problem_id": 8968,
          "problem_name": "Graceful Prime Decomposition",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1068,
          "problem_letter": "F",
          "problem_id": 8969,
          "problem_name": "Wire Connection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1068,
          "problem_letter": "G",
          "problem_id": 8970,
          "problem_name": "Fair Share",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1068,
          "problem_letter": "H",
          "problem_id": 2271,
          "problem_name": "암호화 알고리즘의 약점",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1068,
          "problem_letter": "I",
          "problem_id": 8971,
          "problem_name": "Depth Order",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1078,
      "contest_name": "Asia Regional - Seoul 2003",
      "contest_full_name": "Asia Regional - Seoul 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1078,
          "problem_letter": "A",
          "problem_id": 8988,
          "problem_name": "Old bill",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1078,
          "problem_letter": "B",
          "problem_id": 8989,
          "problem_name": "시계",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1078,
          "problem_letter": "C",
          "problem_id": 8990,
          "problem_name": "Pocket Ball",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1078,
          "problem_letter": "D",
          "problem_id": 8991,
          "problem_name": "People like people",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1078,
          "problem_letter": "E",
          "problem_id": 2046,
          "problem_name": "이어달리기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1078,
          "problem_letter": "F",
          "problem_id": 8993,
          "problem_name": "ChonSu",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1078,
          "problem_letter": "G",
          "problem_id": 1677,
          "problem_name": "음악",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1078,
          "problem_letter": "H",
          "problem_id": 8994,
          "problem_name": "Cycle Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1078,
          "problem_letter": "I",
          "problem_id": 8995,
          "problem_name": "Intelligent Robots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1079,
      "contest_name": "Asia Regional - Taejon 2002",
      "contest_full_name": "Asia Regional - Taejon 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1079,
          "problem_letter": "A",
          "problem_id": 3584,
          "problem_name": "가장 가까운 공통 조상",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "lca"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 1079,
          "problem_letter": "B",
          "problem_id": 3232,
          "problem_name": "Multiply",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1079,
          "problem_letter": "C",
          "problem_id": 3563,
          "problem_name": "Finding Liars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1079,
          "problem_letter": "D",
          "problem_id": 3589,
          "problem_name": "Christmas Gifts",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1079,
          "problem_letter": "E",
          "problem_id": 4715,
          "problem_name": "Two Mountaineers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1079,
          "problem_letter": "F",
          "problem_id": 8996,
          "problem_name": "Digital Onion",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1079,
          "problem_letter": "G",
          "problem_id": 8997,
          "problem_name": "The K-League",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1079,
          "problem_letter": "H",
          "problem_id": 8998,
          "problem_name": "A Lazy Worker",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1080,
      "contest_name": "Asia Regional - Taejon 2000",
      "contest_full_name": "Asia Regional - Taejon 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1080,
          "problem_letter": "A",
          "problem_id": 4505,
          "problem_name": "Car Racing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1080,
          "problem_letter": "B",
          "problem_id": 8999,
          "problem_name": "Work at a library is tough",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1080,
          "problem_letter": "C",
          "problem_id": 9000,
          "problem_name": "Moving Pegs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1080,
          "problem_letter": "D",
          "problem_id": 9001,
          "problem_name": "Rectangle Coloring",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "geometry",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "geometry",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1080,
          "problem_letter": "E",
          "problem_id": 9002,
          "problem_name": "Match Maker",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "stable marriage problem"
          ],
          "tag_keys": [
            "graphs",
            "stable_marriage"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "stable_marriage",
              "name": "stable marriage problem",
              "boj_tag_id": 192
            }
          ]
        },
        {
          "contest_id": 1080,
          "problem_letter": "F",
          "problem_id": 9003,
          "problem_name": "Taekwondo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1080,
          "problem_letter": "G",
          "problem_id": 9004,
          "problem_name": "Lost Lists",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1080,
          "problem_letter": "H",
          "problem_id": 9005,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1081,
      "contest_name": "Daejeon Nationalwide Internet Competition 2012",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1081,
          "problem_letter": "A",
          "problem_id": 9006,
          "problem_name": "다리",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "B",
          "problem_id": 9007,
          "problem_name": "카누 선수",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "binary search",
            "meet in the middle"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "C",
          "problem_id": 9008,
          "problem_name": "Castle",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "sorting",
            "ad-hoc",
            "depth-first search",
            "sweeping"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "sorting",
            "ad_hoc",
            "dfs",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "D",
          "problem_id": 9009,
          "problem_name": "피보나치",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "E",
          "problem_id": 9010,
          "problem_name": "Möbius Strip",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "F",
          "problem_id": 9011,
          "problem_name": "순서",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "G",
          "problem_id": 9012,
          "problem_name": "괄호",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "H",
          "problem_id": 9013,
          "problem_name": "Parents",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "I",
          "problem_id": 9014,
          "problem_name": "PCB",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1081,
          "problem_letter": "J",
          "problem_id": 9015,
          "problem_name": "정사각형",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "bruteforcing",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1082,
      "contest_name": "Daejeon Nationalwide Internet Competition 2011",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1082,
          "problem_letter": "A",
          "problem_id": 9016,
          "problem_name": "Castles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1082,
          "problem_letter": "B",
          "problem_id": 9017,
          "problem_name": "크로스 컨트리",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "C",
          "problem_id": 9018,
          "problem_name": "Cube of a Graph",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1082,
          "problem_letter": "D",
          "problem_id": 9019,
          "problem_name": "DSLR",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "E",
          "problem_id": 9020,
          "problem_name": "골드바흐의 추측",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "F",
          "problem_id": 9021,
          "problem_name": "숫자 퍼즐",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "F (수정)",
          "problem_id": 1502,
          "problem_name": "숫자 퍼즐 ≤ 8",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking",
            "parity"
          ],
          "tag_keys": [
            "backtracking",
            "parity"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "G",
          "problem_id": 9022,
          "problem_name": "Stains",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "sorting",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "H",
          "problem_id": 9023,
          "problem_name": "연습시즌",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "I",
          "problem_id": 9024,
          "problem_name": "두 수의 합",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "sorting",
            "binary search",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1082,
          "problem_letter": "J",
          "problem_id": 9025,
          "problem_name": "Widest Path",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "data structures",
            "dijkstra's",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "dijkstra",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1083,
      "contest_name": "Daejeon Nationalwide Internet Competition 2010",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1083,
          "problem_letter": "A",
          "problem_id": 9026,
          "problem_name": "Three Pin Bowling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1083,
          "problem_letter": "B",
          "problem_id": 9027,
          "problem_name": "Stadium",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1083,
          "problem_letter": "C",
          "problem_id": 9028,
          "problem_name": "Iris (비밀번호)",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1083,
          "problem_letter": "D",
          "problem_id": 9029,
          "problem_name": "정육면체",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1083,
          "problem_letter": "E",
          "problem_id": 9030,
          "problem_name": "Bridge",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1083,
          "problem_letter": "F",
          "problem_id": 9031,
          "problem_name": "Message Broadcasting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1083,
          "problem_letter": "G",
          "problem_id": 9032,
          "problem_name": "울타리",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1083,
          "problem_letter": "H",
          "problem_id": 9033,
          "problem_name": "Sewerage Planning",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1083,
          "problem_letter": "I",
          "problem_id": 9034,
          "problem_name": "순위",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1083,
          "problem_letter": "J",
          "problem_id": 9035,
          "problem_name": "Detective Conan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1084,
      "contest_name": "Seoul Nationalwide Internet Competition 2009",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1084,
          "problem_letter": "A",
          "problem_id": 9036,
          "problem_name": "Pennant race",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "B",
          "problem_id": 9037,
          "problem_name": "The candy war",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1084,
          "problem_letter": "C",
          "problem_id": 9038,
          "problem_name": "Display",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1084,
          "problem_letter": "D",
          "problem_id": 9039,
          "problem_name": "노선도",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "E",
          "problem_id": 9040,
          "problem_name": "Maze",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "F",
          "problem_id": 9041,
          "problem_name": "Cube",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "G",
          "problem_id": 9042,
          "problem_name": "Shoe-print",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "H",
          "problem_id": 9043,
          "problem_name": "Delivery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "I",
          "problem_id": 9044,
          "problem_name": "Conference Table",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1084,
          "problem_letter": "J",
          "problem_id": 9045,
          "problem_name": "Golf Courses",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1085,
      "contest_name": "Seoul Nationalwide Internet Competition 2008",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1085,
          "problem_letter": "A",
          "problem_id": 9046,
          "problem_name": "복호화",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1085,
          "problem_letter": "B",
          "problem_id": 9047,
          "problem_name": "6174",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1085,
          "problem_letter": "C",
          "problem_id": 9048,
          "problem_name": "수위 아저씨의 고민",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1085,
          "problem_letter": "D",
          "problem_id": 9049,
          "problem_name": "Electric Network",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1085,
          "problem_letter": "E",
          "problem_id": 9050,
          "problem_name": "L-Shape Covering",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1085,
          "problem_letter": "F",
          "problem_id": 9051,
          "problem_name": "Rubik’s Cube",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1085,
          "problem_letter": "G",
          "problem_id": 9052,
          "problem_name": "Delivery",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1085,
          "problem_letter": "H",
          "problem_id": 9053,
          "problem_name": "Homework",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bitmask",
            "bruteforcing",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1085,
          "problem_letter": "I",
          "problem_id": 9054,
          "problem_name": "나일강",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1085,
          "problem_letter": "J",
          "problem_id": 9055,
          "problem_name": "Pile of Cubes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1086,
      "contest_name": "Seoul Nationalwide Internet Competition 2007",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1086,
          "problem_letter": "A",
          "problem_id": 9056,
          "problem_name": "Letter Bank",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1086,
          "problem_letter": "B",
          "problem_id": 1700,
          "problem_name": "멀티탭 스케줄링",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1086,
          "problem_letter": "B (수정)",
          "problem_id": 20136,
          "problem_name": "멀티탭 스케줄링 2",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1086,
          "problem_letter": "C",
          "problem_id": 9057,
          "problem_name": "ACM-UCPC",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1086,
          "problem_letter": "D",
          "problem_id": 9058,
          "problem_name": "Maximum Detour",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1086,
          "problem_letter": "E",
          "problem_id": 1699,
          "problem_name": "제곱수의 합",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1086,
          "problem_letter": "F",
          "problem_id": 9059,
          "problem_name": "Servicing Clients",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1086,
          "problem_letter": "G",
          "problem_id": 9060,
          "problem_name": "감시체계",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1086,
          "problem_letter": "H",
          "problem_id": 9061,
          "problem_name": "두 직사각형",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1086,
          "problem_letter": "I",
          "problem_id": 9062,
          "problem_name": "랜덤게임",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1087,
      "contest_name": "Seoul Nationalwide Internet Competition 2006",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1087,
          "problem_letter": "A",
          "problem_id": 9063,
          "problem_name": "대지",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1087,
          "problem_letter": "B",
          "problem_id": 2028,
          "problem_name": "자기복제수",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1087,
          "problem_letter": "C",
          "problem_id": 9064,
          "problem_name": "War Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1087,
          "problem_letter": "D",
          "problem_id": 1946,
          "problem_name": "신입 사원",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1087,
          "problem_letter": "E",
          "problem_id": 9065,
          "problem_name": "Fence Watch",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1087,
          "problem_letter": "F",
          "problem_id": 9066,
          "problem_name": "금고",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "ad-hoc",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1087,
          "problem_letter": "G",
          "problem_id": 9067,
          "problem_name": "馬",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1087,
          "problem_letter": "H",
          "problem_id": 9068,
          "problem_name": "Tree Labeling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1087,
          "problem_letter": "I",
          "problem_id": 9069,
          "problem_name": "치킨집 배치",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1088,
      "contest_name": "Seoul Nationalwide Internet Competition 2005",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 1088,
          "problem_letter": "A",
          "problem_id": 9070,
          "problem_name": "장보기",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1088,
          "problem_letter": "B",
          "problem_id": 9071,
          "problem_name": "KTX",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1088,
          "problem_letter": "C",
          "problem_id": 9072,
          "problem_name": "Wiring Cost",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1088,
          "problem_letter": "D",
          "problem_id": 2159,
          "problem_name": "케익 배달",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1088,
          "problem_letter": "E",
          "problem_id": 2212,
          "problem_name": "센서",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1088,
          "problem_letter": "F",
          "problem_id": 9074,
          "problem_name": "쇠줄 곧게 펴기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1088,
          "problem_letter": "G",
          "problem_id": 9075,
          "problem_name": "Missile Protector",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1089,
      "contest_name": "Seoul Nationalwide Internet Competition 2004",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 1089,
          "problem_letter": "A",
          "problem_id": 9076,
          "problem_name": "점수 집계",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1089,
          "problem_letter": "B",
          "problem_id": 2292,
          "problem_name": "벌집",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1089,
          "problem_letter": "C",
          "problem_id": 9077,
          "problem_name": "지뢰제거",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1089,
          "problem_letter": "D",
          "problem_id": 2016,
          "problem_name": "미팅 주선하기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1089,
          "problem_letter": "E",
          "problem_id": 9078,
          "problem_name": "정렬",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "sorting",
            "ad-hoc",
            "parity"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "ad_hoc",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1089,
          "problem_letter": "F",
          "problem_id": 9079,
          "problem_name": "동전 게임",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "bitmask"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1089,
          "problem_letter": "G",
          "problem_id": 2266,
          "problem_name": "금고 테스트",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1090,
      "contest_name": "Seoul Nationalwide Internet Competition 2003",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1090,
          "problem_letter": "A",
          "problem_id": 3062,
          "problem_name": "수 뒤집기",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "B",
          "problem_id": 9080,
          "problem_name": "PC방 요금",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "C",
          "problem_id": 9081,
          "problem_name": "단어 맞추기",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "D",
          "problem_id": 9082,
          "problem_name": "지뢰찾기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "E",
          "problem_id": 9083,
          "problem_name": "셔틀버스",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "F",
          "problem_id": 9084,
          "problem_name": "동전",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "PA",
          "problem_id": 9085,
          "problem_name": "더하기",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1090,
          "problem_letter": "PB",
          "problem_id": 9086,
          "problem_name": "문자열",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1091,
      "contest_name": "Taejon Nationalwide Internet Competition 2002",
      "contest_full_name": "Taejon Nationalwide Internet Competition 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 1091,
          "problem_letter": "A",
          "problem_id": 3063,
          "problem_name": "게시판",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1091,
          "problem_letter": "B",
          "problem_id": 9087,
          "problem_name": "단어 찾기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1091,
          "problem_letter": "C",
          "problem_id": 9088,
          "problem_name": "게임",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1091,
          "problem_letter": "D",
          "problem_id": 9089,
          "problem_name": "줄다리기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1091,
          "problem_letter": "E",
          "problem_id": 9090,
          "problem_name": "역기 정렬하기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1091,
          "problem_letter": "PA",
          "problem_id": 9091,
          "problem_name": "소수 판정",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1091,
          "problem_letter": "PB",
          "problem_id": 9092,
          "problem_name": "테이블 정리",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1092,
      "contest_name": "2003 ACM Asia Programming Contest Kaohsiung Site",
      "contest_full_name": "2003 ACM Asia Programming Contest Kaohsiung Site",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1092,
          "problem_letter": "A",
          "problem_id": 9096,
          "problem_name": "Tiling Up Blocks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1092,
          "problem_letter": "B",
          "problem_id": 9097,
          "problem_name": "Quad Trees",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1092,
          "problem_letter": "C",
          "problem_id": 9098,
          "problem_name": "The Suspects",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1092,
          "problem_letter": "D",
          "problem_id": 9099,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1092,
          "problem_letter": "E",
          "problem_id": 9100,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1092,
          "problem_letter": "F",
          "problem_id": 9101,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1092,
          "problem_letter": "G",
          "problem_id": 9102,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1092,
          "problem_letter": "H",
          "problem_id": 9103,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1092,
          "problem_letter": "I",
          "problem_id": 9104,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1093,
      "contest_name": "2006 ACM Asia Programming Contest Kaohsiung Site",
      "contest_full_name": "2006 ACM Asia Programming Contest Kaohsiung Site",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1093,
          "problem_letter": "A",
          "problem_id": 9105,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "B",
          "problem_id": 9106,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "C",
          "problem_id": 9107,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "D",
          "problem_id": 9108,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "E",
          "problem_id": 9109,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "F",
          "problem_id": 9110,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "G",
          "problem_id": 9111,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "H",
          "problem_id": 9112,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1093,
          "problem_letter": "I",
          "problem_id": 9113,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1094,
      "contest_name": "BAPC 2006 Qualification",
      "contest_full_name": "BAPC 2006 Qualification",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1094,
          "problem_letter": "A",
          "problem_id": 9114,
          "problem_name": "킹과 폰",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "game theory",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "game_theory",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "B",
          "problem_id": 9115,
          "problem_name": "Frobenius",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "knapsack"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "C",
          "problem_id": 9116,
          "problem_name": "Mineshaft",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1094,
          "problem_letter": "D",
          "problem_id": 9117,
          "problem_name": "Colour Sequence",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "E",
          "problem_id": 9118,
          "problem_name": "Projects",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory",
            "knapsack"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "F",
          "problem_id": 9119,
          "problem_name": "Booksort",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "meet in the middle"
          ],
          "tag_keys": [
            "mitm"
          ],
          "tag_details": [
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "G",
          "problem_id": 9120,
          "problem_name": "Oulipo",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "H",
          "problem_id": 9121,
          "problem_name": "Lucky Light",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "sweeping"
          ],
          "tag_keys": [
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1094,
          "problem_letter": "I",
          "problem_id": 9122,
          "problem_name": "Sightseeing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1095,
      "contest_name": "BAPC 2007 Preliminaries",
      "contest_full_name": "BAPC 2007 Preliminaries",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1095,
          "problem_letter": "A",
          "problem_id": 9123,
          "problem_name": "Word Ladder",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "breadth-first search",
            "bruteforcing",
            "floyd–warshall",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "bfs",
            "bruteforcing",
            "floyd_warshall",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1095,
          "problem_letter": "B",
          "problem_id": 9124,
          "problem_name": "Bonus Word",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1095,
          "problem_letter": "C",
          "problem_id": 9125,
          "problem_name": "Contest",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1095,
          "problem_letter": "D",
          "problem_id": 9126,
          "problem_name": "Cycling",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "disjoint set",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "shortest_path",
            "dijkstra",
            "disjoint_set",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1095,
          "problem_letter": "E",
          "problem_id": 9127,
          "problem_name": "Escape",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1095,
          "problem_letter": "F",
          "problem_id": 9128,
          "problem_name": "피곤한 외판원",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "graph theory",
            "graph traversal",
            "implementation",
            "prefix sum",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "graphs",
            "graph_traversal",
            "implementation",
            "prefix_sum",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1095,
          "problem_letter": "G",
          "problem_id": 9129,
          "problem_name": "Space",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1095,
          "problem_letter": "H",
          "problem_id": 9130,
          "problem_name": "Herbert",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1096,
      "contest_name": "2001 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2001 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 1096,
          "problem_letter": "H",
          "problem_id": 9131,
          "problem_name": "Oh, Those Achin' Feet",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1098,
      "contest_name": "1998 East Central Regional Contest",
      "contest_full_name": "1998 East Central Regional Contest",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 1098,
          "problem_letter": "H",
          "problem_id": 9136,
          "problem_name": "Number That Count",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1100,
      "contest_name": "CTU Open Contest 2001",
      "contest_full_name": "CTU Open Contest 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1100,
          "problem_letter": "A",
          "problem_id": 9134,
          "problem_name": "Komunikace",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "implementation",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "implementation",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "B",
          "problem_id": 9135,
          "problem_name": "Směrnice",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "case work",
            "data structures",
            "set / map by hashing",
            "implementation",
            "simulation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "hash_set",
            "implementation",
            "simulation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "C",
          "problem_id": 9137,
          "problem_name": "Matematické cvičení",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "arbitrary precision / big integers",
            "arithmetic",
            "mathematics",
            "number theory",
            "string"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "arithmetic",
            "math",
            "number_theory",
            "string"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "D",
          "problem_id": 9138,
          "problem_name": "Červotoči",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "E",
          "problem_id": 9139,
          "problem_name": "Algebra",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "F",
          "problem_id": 9140,
          "problem_name": "Přeprava materiálu",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "G",
          "problem_id": 9141,
          "problem_name": "Dámy",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1100,
          "problem_letter": "H",
          "problem_id": 9142,
          "problem_name": "Nástěnky",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1101,
      "contest_name": "CTU Open Contest 2000",
      "contest_full_name": "CTU Open Contest 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1101,
          "problem_letter": "D",
          "problem_id": 9143,
          "problem_name": "Zpětné inženýrství",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1101,
          "problem_letter": "G",
          "problem_id": 9144,
          "problem_name": "Gnome",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1101,
          "problem_letter": "H",
          "problem_id": 9145,
          "problem_name": "Herci",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "bipartite matching"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1101,
          "problem_letter": "I",
          "problem_id": 9146,
          "problem_name": "Linie",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1101,
          "problem_letter": "P",
          "problem_id": 9147,
          "problem_name": "Počítáme ponorky",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1101,
          "problem_letter": "R",
          "problem_id": 9148,
          "problem_name": "Rozejděte se!",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1101,
          "problem_letter": "S",
          "problem_id": 9149,
          "problem_name": "Pražská spojka",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1101,
          "problem_letter": "T",
          "problem_id": 9150,
          "problem_name": "Tokeny",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1102,
      "contest_name": "Asia Regional Contest 2001 in Hakodate",
      "contest_full_name": "Asia Regional Contest 2001 in Hakodate",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1102,
          "problem_letter": "A",
          "problem_id": 9151,
          "problem_name": "Starship Hakodate-maru",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1102,
          "problem_letter": "B",
          "problem_id": 9152,
          "problem_name": "e-Market",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1102,
          "problem_letter": "C",
          "problem_id": 9153,
          "problem_name": "Fishnet",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1102,
          "problem_letter": "D",
          "problem_id": 9154,
          "problem_name": "77377",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1102,
          "problem_letter": "E",
          "problem_id": 9155,
          "problem_name": "Beehives",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1102,
          "problem_letter": "F",
          "problem_id": 9156,
          "problem_name": "Young, Poor and Busy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1102,
          "problem_letter": "G",
          "problem_id": 9157,
          "problem_name": "Nim",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1102,
          "problem_letter": "H",
          "problem_id": 9158,
          "problem_name": "Super Star",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "geometry; 3d",
            "heuristics",
            "minimum enclosing circle",
            "gradient descent"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "heuristics",
            "min_enclosing_circle",
            "gradient_descent"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            },
            {
              "key": "gradient_descent",
              "name": "gradient descent",
              "boj_tag_id": 208
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1103,
      "contest_name": "2006 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2006 Pacific Northwest Region Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1103,
          "problem_letter": "A",
          "problem_id": 9159,
          "problem_name": "What is the air speed velocity...",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "B",
          "problem_id": 9160,
          "problem_name": "The Brave Sir Robin’s cAsE cOrReCtOr",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "C",
          "problem_id": 9161,
          "problem_name": "Sir Bedavere’s Bogus Division Solutions",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "D",
          "problem_id": 9162,
          "problem_name": "One...Two...Five!",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "backtracking"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "set",
            "hash_set",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "E",
          "problem_id": 9163,
          "problem_name": "Taunt Exposure Estimation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1103,
          "problem_letter": "F",
          "problem_id": 9164,
          "problem_name": "Ye Holy Hand Grenades!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1103,
          "problem_letter": "G",
          "problem_id": 9165,
          "problem_name": "Nested Shrubbery Boxes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "sorting",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "H",
          "problem_id": 9166,
          "problem_name": "And Now For Something Completely Different!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1103,
          "problem_letter": "I",
          "problem_id": 9167,
          "problem_name": "도발 봇",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "string",
            "parsing",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "J",
          "problem_id": 9168,
          "problem_name": "No Left Turns",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1103,
          "problem_letter": "K",
          "problem_id": 9169,
          "problem_name": "나는 9999번 문제를 풀 수 있다",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1104,
      "contest_name": "2005 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2005 Pacific Northwest Region Programming Contest",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1104,
          "problem_letter": "A",
          "problem_id": 9170,
          "problem_name": "Single Digit Adder",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1104,
          "problem_letter": "B",
          "problem_id": 4622,
          "problem_name": "Connect",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1104,
          "problem_letter": "C",
          "problem_id": 9172,
          "problem_name": "Consecutive Digits in a Rational Number",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1104,
          "problem_letter": "D",
          "problem_id": 9173,
          "problem_name": "Constant Irritation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1104,
          "problem_letter": "E",
          "problem_id": 9174,
          "problem_name": "If only I could think Linearly...",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1104,
          "problem_letter": "F",
          "problem_id": 4627,
          "problem_name": "뛰어라 도마뱀",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1104,
          "problem_letter": "G",
          "problem_id": 4620,
          "problem_name": "Pascal's Travels",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1104,
          "problem_letter": "H",
          "problem_id": 9171,
          "problem_name": "Job Scheduling by Open Bidding",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1104,
          "problem_letter": "I",
          "problem_id": 9175,
          "problem_name": "Who needs 8 Queens when you can have N?",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1104,
          "problem_letter": "J",
          "problem_id": 4624,
          "problem_name": "Time to Graduate",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "topological sorting",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "topological_sorting",
            "dag"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1105,
      "contest_name": "2004 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2004 Pacific Northwest Region Programming Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1105,
          "problem_letter": "A",
          "problem_id": 9176,
          "problem_name": "메르센 합성수",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "B",
          "problem_id": 9177,
          "problem_name": "단어 섞기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "C",
          "problem_id": 2758,
          "problem_name": "로또",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "D",
          "problem_id": 2734,
          "problem_name": "드럼통 쌓기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "E",
          "problem_id": 3073,
          "problem_name": "집으로 가는 길",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "F",
          "problem_id": 6679,
          "problem_name": "싱기한 네자리 숫자",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "G",
          "problem_id": 9178,
          "problem_name": "Jill’s Tour Paths",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "backtracking",
            "graph theory",
            "graph traversal",
            "sorting"
          ],
          "tag_keys": [
            "backtracking",
            "graphs",
            "graph_traversal",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "H",
          "problem_id": 9179,
          "problem_name": "Boundaries on \"A New Kind of Science\"",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "I",
          "problem_id": 9180,
          "problem_name": "Rate of Return",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1105,
          "problem_letter": "J",
          "problem_id": 9181,
          "problem_name": "A Card Trick",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1106,
      "contest_name": "1999 Pacific Northwest Region Programming Contest",
      "contest_full_name": "1999 Pacific Northwest Region Programming Contest",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1106,
          "problem_letter": "A",
          "problem_id": 9182,
          "problem_name": "Biorhythms",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1106,
          "problem_letter": "B",
          "problem_id": 9183,
          "problem_name": "Gone Fishing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "dynamic programming",
            "data structures",
            "greedy",
            "bruteforcing",
            "priority queue",
            "traceback"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "data_structures",
            "greedy",
            "bruteforcing",
            "priority_queue",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1106,
          "problem_letter": "C",
          "problem_id": 9184,
          "problem_name": "신나는 함수 실행",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming",
            "recursion"
          ],
          "tag_keys": [
            "dp",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1106,
          "problem_letter": "D",
          "problem_id": 9185,
          "problem_name": "Unscrambling Images",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1106,
          "problem_letter": "E",
          "problem_id": 9186,
          "problem_name": "The Same Game",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1106,
          "problem_letter": "F",
          "problem_id": 9187,
          "problem_name": "Square Cipher",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1106,
          "problem_letter": "G",
          "problem_id": 9188,
          "problem_name": "String Matching",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1106,
          "problem_letter": "H",
          "problem_id": 9189,
          "problem_name": "Triangle War",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "game theory",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1107,
      "contest_name": "1998 Pacific Northwest Region Programming Contest",
      "contest_full_name": "1998 Pacific Northwest Region Programming Contest",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 1107,
          "problem_letter": "A",
          "problem_id": 9190,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1107,
          "problem_letter": "B",
          "problem_id": 9191,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1107,
          "problem_letter": "C",
          "problem_id": 9192,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1107,
          "problem_letter": "D",
          "problem_id": 9193,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1107,
          "problem_letter": "E",
          "problem_id": 9194,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1107,
          "problem_letter": "F",
          "problem_id": 9195,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1108,
      "contest_name": "1999 East Central Regional Contest",
      "contest_full_name": "1999 East Central Regional Contest",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 1108,
          "problem_letter": "A",
          "problem_id": 9189,
          "problem_name": "Triangle War",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "game theory",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1108,
          "problem_letter": "B",
          "problem_id": 9185,
          "problem_name": "Unscrambling Images",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1108,
          "problem_letter": "F",
          "problem_id": 9182,
          "problem_name": "Biorhythms",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1108,
          "problem_letter": "G",
          "problem_id": 9183,
          "problem_name": "Gone Fishing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "dynamic programming",
            "data structures",
            "greedy",
            "bruteforcing",
            "priority queue",
            "traceback"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "data_structures",
            "greedy",
            "bruteforcing",
            "priority_queue",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1108,
          "problem_letter": "H",
          "problem_id": 9186,
          "problem_name": "The Same Game",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1109,
      "contest_name": "2013 Japan Domestic Contest",
      "contest_full_name": "2013 Japan Domestic Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 1109,
          "problem_letter": "A",
          "problem_id": 9196,
          "problem_name": "정수 직사각형",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "sorting",
            "precomputation"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1109,
          "problem_letter": "B",
          "problem_id": 9197,
          "problem_name": "ICPC Ranking",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1109,
          "problem_letter": "C",
          "problem_id": 9198,
          "problem_name": "Hierarchical Democracy",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "depth-first search",
            "divide and conquer",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "implementation",
            "parsing",
            "recursion",
            "sorting",
            "string",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "divide_and_conquer",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "implementation",
            "parsing",
            "recursion",
            "sorting",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1109,
          "problem_letter": "D",
          "problem_id": 9199,
          "problem_name": "Prime Caves",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "number theory",
            "simulation",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "number_theory",
            "simulation",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1109,
          "problem_letter": "E",
          "problem_id": 9200,
          "problem_name": "Anchored Balloon",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "ternary search",
            "physics"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "ternary_search",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1109,
          "problem_letter": "F",
          "problem_id": 9201,
          "problem_name": "Rotate and Rewrite",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1110,
      "contest_name": "GCPC 2013",
      "contest_full_name": "GCPC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1110,
          "problem_letter": "A",
          "problem_id": 9202,
          "problem_name": "Boggle",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "graph theory",
            "string",
            "bruteforcing",
            "graph traversal",
            "tree",
            "set / map",
            "depth-first search",
            "backtracking",
            "grid graph",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "string",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "set",
            "dfs",
            "backtracking",
            "grid_graph",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "B",
          "problem_id": 9203,
          "problem_name": "호텔 예약",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "C",
          "problem_id": 9204,
          "problem_name": "체스",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "D",
          "problem_id": 9205,
          "problem_name": "맥주 마시면서 걸어가기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "E",
          "problem_id": 9206,
          "problem_name": "나무 말고 꽃",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "calculus",
            "numerical analysis"
          ],
          "tag_keys": [
            "math",
            "calculus",
            "numerical_analysis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "numerical_analysis",
              "name": "numerical analysis",
              "boj_tag_id": 122
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "F",
          "problem_id": 9207,
          "problem_name": "페그 솔리테어",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "G",
          "problem_id": 9208,
          "problem_name": "링월드",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "greedy",
            "hall's theorem"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "hall"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "H",
          "problem_id": 9209,
          "problem_name": "The King of the North",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "I",
          "problem_id": 9210,
          "problem_name": "복권 표",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "J",
          "problem_id": 9211,
          "problem_name": "타이밍",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1110,
          "problem_letter": "K",
          "problem_id": 9212,
          "problem_name": "트라이앵글",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1111,
      "contest_name": "AuPC 2013",
      "contest_full_name": "AuPC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > Australian Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1111,
          "problem_letter": "A",
          "problem_id": 9213,
          "problem_name": "꽤 좋은 수",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "B",
          "problem_id": 9214,
          "problem_name": "첫 번째 항",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "C",
          "problem_id": 9215,
          "problem_name": "신나는 분수 계산",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "parsing",
            "arbitrary precision / big integers",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "parsing",
            "arbitrary_precision",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "D",
          "problem_id": 9216,
          "problem_name": "The Queen's English",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "E",
          "problem_id": 9217,
          "problem_name": "Powerbase Format",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "F",
          "problem_id": 9218,
          "problem_name": "Jumble Match",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sliding window",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "sliding_window",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "G",
          "problem_id": 9219,
          "problem_name": "Road Trip",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1111,
          "problem_letter": "H",
          "problem_id": 9220,
          "problem_name": "Bafﬂed!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1112,
      "contest_name": "Asia Regional 2008 - Kuala Lumpur",
      "contest_full_name": "Asia Regional 2008 - Kuala Lumpur",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia",
      "problem_count": 2,
      "problems": [
        {
          "contest_id": 1112,
          "problem_letter": "A",
          "problem_id": 1262,
          "problem_name": "알파벳 다이아몬드",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1112,
          "problem_letter": "C",
          "problem_id": 1267,
          "problem_name": "핸드폰 요금",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1114,
      "contest_name": "BAPC 2006",
      "contest_full_name": "BAPC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1114,
          "problem_letter": "A",
          "problem_id": 1853,
          "problem_name": "정사영",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "calculus",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "calculus",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "B",
          "problem_id": 21381,
          "problem_name": "Bowling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1114,
          "problem_letter": "C",
          "problem_id": 1971,
          "problem_name": "High Spies",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "tree"
          ],
          "tag_keys": [
            "trees"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "D",
          "problem_id": 1985,
          "problem_name": "디지털 친구",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "E",
          "problem_id": 1970,
          "problem_name": "건배",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "F",
          "problem_id": 1886,
          "problem_name": "프리즌 브레이크",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "graph traversal",
            "binary search",
            "breadth-first search",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "binary_search",
            "bfs",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "G",
          "problem_id": 21382,
          "problem_name": "Decompression",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "dynamic programming",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "H",
          "problem_id": 2050,
          "problem_name": "타일 게임",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1114,
          "problem_letter": "I",
          "problem_id": 21383,
          "problem_name": "Make it Manhattan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1116,
      "contest_name": "Hangzhou Regional Contest 2005",
      "contest_full_name": "Hangzhou Regional Contest 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Hangzhou",
      "problem_count": 3,
      "problems": [
        {
          "contest_id": 1116,
          "problem_letter": "C",
          "problem_id": 22752,
          "problem_name": "Cells",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1116,
          "problem_letter": "H",
          "problem_id": 22757,
          "problem_name": "Hills",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "geometry",
            "line segment intersection check",
            "planar graph"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "line_intersection",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 1116,
          "problem_letter": "I",
          "problem_id": 2131,
          "problem_name": "로봇 명령",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "dynamic programming",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1119,
      "contest_name": "Beijing Regional Contest 2004",
      "contest_full_name": "Beijing Regional Contest 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Beijing",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1119,
          "problem_letter": "A",
          "problem_id": 6157,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1119,
          "problem_letter": "B",
          "problem_id": 6237,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1119,
          "problem_letter": "C",
          "problem_id": 6235,
          "problem_name": "Argus",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1119,
          "problem_letter": "D",
          "problem_id": 6158,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1119,
          "problem_letter": "E",
          "problem_id": 2280,
          "problem_name": "정사각형과 점",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1119,
          "problem_letter": "F",
          "problem_id": 1763,
          "problem_name": "트리 색칠",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "greedy",
            "tree",
            "disjoint set",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "trees",
            "disjoint_set",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1119,
          "problem_letter": "G",
          "problem_id": 6215,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1119,
          "problem_letter": "H",
          "problem_id": 2288,
          "problem_name": "격자의 분리자",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1119,
          "problem_letter": "I",
          "problem_id": 6204,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1124,
      "contest_name": "Daejeon Nationalwide Internet Competition 2013",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1124,
          "problem_letter": "A",
          "problem_id": 5480,
          "problem_name": "전함",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "offline queries",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "offline_queries",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "B",
          "problem_id": 6064,
          "problem_name": "카잉 달력",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "C",
          "problem_id": 6090,
          "problem_name": "Casting",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "combinatorics",
            "convex hull",
            "geometry",
            "mathematics",
            "rotating calipers"
          ],
          "tag_keys": [
            "combinatorics",
            "convex_hull",
            "geometry",
            "math",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "D",
          "problem_id": 7662,
          "problem_name": "이중 우선순위 큐",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "set / map",
            "priority queue",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "priority_queue",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "E",
          "problem_id": 3163,
          "problem_name": "떨어지는 개미",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "F",
          "problem_id": 3758,
          "problem_name": "KCPC",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "G",
          "problem_id": 3300,
          "problem_name": "무어 기계",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "string",
            "bruteforcing",
            "parsing",
            "regular expression"
          ],
          "tag_keys": [
            "dp",
            "string",
            "bruteforcing",
            "parsing",
            "regex"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "H",
          "problem_id": 3295,
          "problem_name": "단방향 링크 네트워크",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "I",
          "problem_id": 8992,
          "problem_name": "집기 게임",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "geometry",
            "maximum flow",
            "line segment intersection check",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "flow",
            "line_intersection",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "J",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "K",
          "problem_id": 4243,
          "problem_name": "보안 업체",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1124,
          "problem_letter": "L",
          "problem_id": 4256,
          "problem_name": "트리",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "trees",
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1125,
      "contest_name": "BAPC 2008 Preliminaries",
      "contest_full_name": "BAPC 2008 Preliminaries",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1125,
          "problem_letter": "A",
          "problem_id": 3342,
          "problem_name": "Lanterns",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1125,
          "problem_letter": "B",
          "problem_id": 2030,
          "problem_name": "Burger King",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "implementation",
            "queue",
            "simulation"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "queue",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1125,
          "problem_letter": "C",
          "problem_id": 2047,
          "problem_name": "미로",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1125,
          "problem_letter": "D",
          "problem_id": 2181,
          "problem_name": "Walking the dog",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1125,
          "problem_letter": "E",
          "problem_id": 4615,
          "problem_name": "Power cables to sewer pipes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1125,
          "problem_letter": "F",
          "problem_id": 2391,
          "problem_name": "Sascha",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1125,
          "problem_letter": "G",
          "problem_id": 3466,
          "problem_name": "Choir",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1125,
          "problem_letter": "H",
          "problem_id": 7035,
          "problem_name": "Recycling proteins",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1126,
      "contest_name": "ACPC 2012",
      "contest_full_name": "ACPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional > Alberta Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1126,
          "problem_letter": "A",
          "problem_id": 1871,
          "problem_name": "좋은 자동차 번호판",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "B",
          "problem_id": 1876,
          "problem_name": "튕기는 볼링공",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "C",
          "problem_id": 1893,
          "problem_name": "시저 암호",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "string",
            "bruteforcing",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "D",
          "problem_id": 1896,
          "problem_name": "파급효과",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "E",
          "problem_id": 1901,
          "problem_name": "논리식",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "parsing",
            "recursion"
          ],
          "tag_keys": [
            "string",
            "parsing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "F",
          "problem_id": 1559,
          "problem_name": "놀라운 미로",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bitmask",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "bitmask",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "G",
          "problem_id": 1680,
          "problem_name": "쓰레기 수거",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1126,
          "problem_letter": "H",
          "problem_id": 1807,
          "problem_name": "척 노리스",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1127,
      "contest_name": "ACPC 2003",
      "contest_full_name": "ACPC 2003",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional > Alberta Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1127,
          "problem_letter": "A",
          "problem_id": 1820,
          "problem_name": "Partitioning for fun and profit",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "B",
          "problem_id": 1775,
          "problem_name": "ASCII Labyrinth",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "C",
          "problem_id": 1778,
          "problem_name": "Ubiquitous Religions",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "disjoint set",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "disjoint_set",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "D",
          "problem_id": 1779,
          "problem_name": "Text Formalization",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "E",
          "problem_id": 1768,
          "problem_name": "Center of symmetry",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "data structures",
            "sorting",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "sorting",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "F",
          "problem_id": 1716,
          "problem_name": "Polynomial Remains",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "G",
          "problem_id": 2370,
          "problem_name": "시장 선거 포스터",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "implementation",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1127,
          "problem_letter": "H",
          "problem_id": 1791,
          "problem_name": "Queuing at the doctors",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "priority queue",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "priority_queue",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1128,
      "contest_name": "ACPC 2000",
      "contest_full_name": "ACPC 2000",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional > Alberta Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1128,
          "problem_letter": "A",
          "problem_id": 1793,
          "problem_name": "타일링",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "B",
          "problem_id": 2022,
          "problem_name": "사다리",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "C",
          "problem_id": 1798,
          "problem_name": "원뿔좌표계상의 거리",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "D",
          "problem_id": 1673,
          "problem_name": "치킨 쿠폰",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "E",
          "problem_id": 1674,
          "problem_name": "성준이와 초콜릿",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "F",
          "problem_id": 1683,
          "problem_name": "책장 맨 윗칸",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "G",
          "problem_id": 1694,
          "problem_name": "Chessboard in FEN",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1128,
          "problem_letter": "H",
          "problem_id": 1696,
          "problem_name": "색 막대",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1129,
      "contest_name": "ACPC 1999",
      "contest_full_name": "ACPC 1999",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional > Alberta Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1129,
          "problem_letter": "A",
          "problem_id": 1894,
          "problem_name": "4번째 점",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1129,
          "problem_letter": "B",
          "problem_id": 1643,
          "problem_name": "쿠폰",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 1129,
          "problem_letter": "C",
          "problem_id": 1633,
          "problem_name": "최고의 팀 만들기",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1129,
          "problem_letter": "D",
          "problem_id": 1686,
          "problem_name": "복날",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "geometry",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "geometry",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1129,
          "problem_letter": "E",
          "problem_id": 1656,
          "problem_name": "덜컹덜컹",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "physics"
          ],
          "tag_keys": [
            "geometry",
            "physics"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1129,
          "problem_letter": "F",
          "problem_id": 1622,
          "problem_name": "공통 순열",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1129,
          "problem_letter": "G",
          "problem_id": 1698,
          "problem_name": "보안 패널",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1129,
          "problem_letter": "H",
          "problem_id": 1595,
          "problem_name": "북쪽나라의 도로",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1137,
      "contest_name": "Beijing Regional Contest 2002",
      "contest_full_name": "Beijing Regional Contest 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Beijing",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1137,
          "problem_letter": "A",
          "problem_id": 6070,
          "problem_name": "Chocolate",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory",
            "exponentiation by squaring",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability",
            "exponentiation_by_squaring",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 1137,
          "problem_letter": "B",
          "problem_id": 6071,
          "problem_name": "Game Prediction",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1137,
          "problem_letter": "C",
          "problem_id": 6061,
          "problem_name": "Holedox Moving",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1137,
          "problem_letter": "D",
          "problem_id": 6058,
          "problem_name": "Machine Schedule",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1137,
          "problem_letter": "E",
          "problem_id": 6243,
          "problem_name": "Mileage Bank",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1137,
          "problem_letter": "F",
          "problem_id": 6244,
          "problem_name": "Moving Object Recognition",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1137,
          "problem_letter": "G",
          "problem_id": 6140,
          "problem_name": "Radar Installation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1137,
          "problem_letter": "H",
          "problem_id": 6133,
          "problem_name": "Random Walk",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1138,
      "contest_name": "Beijing Regional Contest 2005",
      "contest_full_name": "Beijing Regional Contest 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Beijing",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1138,
          "problem_letter": "A",
          "problem_id": 6224,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "B",
          "problem_id": 6225,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "C",
          "problem_id": 3791,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "D",
          "problem_id": 3241,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "E",
          "problem_id": 2246,
          "problem_name": "콘도 선정",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1138,
          "problem_letter": "F",
          "problem_id": 3775,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "G",
          "problem_id": 3776,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "H",
          "problem_id": 3465,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1138,
          "problem_letter": "I",
          "problem_id": 3393,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1139,
      "contest_name": "Shanghai Regional Contest 2004",
      "contest_full_name": "Shanghai Regional Contest 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Shanghai",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1139,
          "problem_letter": "A",
          "problem_id": 5061,
          "problem_name": "Amphiphilic Carbon Molecules",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "sliding window",
            "angle sorting",
            "linear programming"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "sliding_window",
            "angle_sorting",
            "linear_programming"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "B",
          "problem_id": 5065,
          "problem_name": "Link and Pop -- the Block Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1139,
          "problem_letter": "C",
          "problem_id": 5066,
          "problem_name": "The Counting Problem",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "D",
          "problem_id": 5062,
          "problem_name": "Different Digits",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "number theory",
            "breadth-first search",
            "shortest path",
            "traceback"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "number_theory",
            "bfs",
            "shortest_path",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "E",
          "problem_id": 5488,
          "problem_name": "That Nice Euler Circuit",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "line segment intersection check",
            "euler characteristic (χ=v-e+f)"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "euler_characteristic"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "F",
          "problem_id": 5072,
          "problem_name": "The Floor Bricks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1139,
          "problem_letter": "G",
          "problem_id": 5070,
          "problem_name": "The Rotation Game",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "heuristics",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "heuristics",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "H",
          "problem_id": 5071,
          "problem_name": "Tian Ji -- The Horse Racing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "I",
          "problem_id": 6275,
          "problem_name": "Islands and Bridges",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1139,
          "problem_letter": "J",
          "problem_id": 7536,
          "problem_name": "Jamie's Contact Groups",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "maximum flow",
            "parametric search",
            "graph theory"
          ],
          "tag_keys": [
            "binary_search",
            "flow",
            "parametric_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1140,
      "contest_name": "Shanghai Regional Contest 2006",
      "contest_full_name": "Shanghai Regional Contest 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Shanghai",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1140,
          "problem_letter": "A",
          "problem_id": 8139,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "B",
          "problem_id": 7521,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "C",
          "problem_id": 8569,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "D",
          "problem_id": 3274,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "E",
          "problem_id": 7985,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "F",
          "problem_id": 7986,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "G",
          "problem_id": 7988,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "H",
          "problem_id": 7991,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "I",
          "problem_id": 7069,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1140,
          "problem_letter": "J",
          "problem_id": 7969,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1141,
      "contest_name": "Dhaka Regional Contest 2002",
      "contest_full_name": "Dhaka Regional Contest 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia West Continent > Bangladesh",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1141,
          "problem_letter": "A",
          "problem_id": 7064,
          "problem_name": "Air Raid",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1141,
          "problem_letter": "B",
          "problem_id": 7894,
          "problem_name": "큰 수",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1141,
          "problem_letter": "C",
          "problem_id": 7068,
          "problem_name": "Diamonds",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1141,
          "problem_letter": "D",
          "problem_id": 4741,
          "problem_name": "Enigmatic Travel",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1141,
          "problem_letter": "E",
          "problem_id": 4994,
          "problem_name": "배수 찾기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1141,
          "problem_letter": "F",
          "problem_id": 4629,
          "problem_name": "Get Them All",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1141,
          "problem_letter": "G",
          "problem_id": 4249,
          "problem_name": "Hermes' Colony",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1141,
          "problem_letter": "H",
          "problem_id": 4248,
          "problem_name": "Chat Rooms",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1142,
      "contest_name": "NZPC 2006",
      "contest_full_name": "NZPC 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 1142,
          "problem_letter": "A",
          "problem_id": 1264,
          "problem_name": "모음의 개수",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "B",
          "problem_id": 1259,
          "problem_name": "팰린드롬수",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "C",
          "problem_id": 1284,
          "problem_name": "집 주소",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "D",
          "problem_id": 1362,
          "problem_name": "펫",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "E",
          "problem_id": 1380,
          "problem_name": "귀걸이",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "F",
          "problem_id": 1384,
          "problem_name": "메시지",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "G",
          "problem_id": 1703,
          "problem_name": "생장점",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "H",
          "problem_id": 1864,
          "problem_name": "문어 숫자",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "I",
          "problem_id": 1148,
          "problem_name": "단어 만들기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "J",
          "problem_id": 1811,
          "problem_name": "Adjacent Mastermind",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "K",
          "problem_id": 2006,
          "problem_name": "Chemistry 101",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "parsing",
            "sorting",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "parsing",
            "sorting",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "L",
          "problem_id": 2127,
          "problem_name": "Limit Checking",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "simulation",
            "set / map",
            "case work",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "simulation",
            "set",
            "case_work",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "M",
          "problem_id": 1710,
          "problem_name": "Flattening Tables",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "N",
          "problem_id": 1880,
          "problem_name": "Big Brother",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "ad-hoc",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1142,
          "problem_letter": "O",
          "problem_id": 1993,
          "problem_name": "경주",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "set / map",
            "meet in the middle"
          ],
          "tag_keys": [
            "dp",
            "set",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1143,
      "contest_name": "NZPC 2005",
      "contest_full_name": "NZPC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 1143,
          "problem_letter": "A",
          "problem_id": 2204,
          "problem_name": "도비의 난독증 테스트",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "B",
          "problem_id": 2083,
          "problem_name": "럭비 클럽",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "C",
          "problem_id": 2139,
          "problem_name": "나는 너가 살아온 날을 알고 있다",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "D",
          "problem_id": 2145,
          "problem_name": "숫자 놀이",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "E",
          "problem_id": 2189,
          "problem_name": "Magickology",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "F",
          "problem_id": 2148,
          "problem_name": "Super 12",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "G",
          "problem_id": 2235,
          "problem_name": "GPS Encoding",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "dynamic programming",
            "string",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "string",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "H",
          "problem_id": 2202,
          "problem_name": "Custom table sorter",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "I",
          "problem_id": 2214,
          "problem_name": "성냥개비와 정사각형",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "J",
          "problem_id": 2227,
          "problem_name": "Checking Causality",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1143,
          "problem_letter": "K",
          "problem_id": 2249,
          "problem_name": "Olympic Ranking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1143,
          "problem_letter": "L",
          "problem_id": 2267,
          "problem_name": "Bus Timetable",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "M",
          "problem_id": 2274,
          "problem_name": "Conflicting Strings",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "heuristics",
            "string"
          ],
          "tag_keys": [
            "graphs",
            "heuristics",
            "string"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "O",
          "problem_id": 2310,
          "problem_name": "어드벤처 게임",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1143,
          "problem_letter": "P",
          "problem_id": 2384,
          "problem_name": "I’m a Frayed Knot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1144,
      "contest_name": "NZPC 2004",
      "contest_full_name": "NZPC 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 1144,
          "problem_letter": "A",
          "problem_id": 4287,
          "problem_name": "Word Ratios",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "B",
          "problem_id": 4852,
          "problem_name": "Winter Festival",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "graphs",
            "graph_traversal",
            "hash_set",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "C",
          "problem_id": 7292,
          "problem_name": "Scrabble Scoring",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "D",
          "problem_id": 8009,
          "problem_name": "Holiday Costing",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "F",
          "problem_id": 8959,
          "problem_name": "Stuttering Strings",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "G",
          "problem_id": 7532,
          "problem_name": "Dart Scoring",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "simulation",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "H",
          "problem_id": 9221,
          "problem_name": "A Voting Protocol",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1144,
          "problem_letter": "I",
          "problem_id": 9222,
          "problem_name": "Family Trees",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1144,
          "problem_letter": "K",
          "problem_id": 9223,
          "problem_name": "The Jury is out",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "M",
          "problem_id": 9224,
          "problem_name": "Box Toppling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1144,
          "problem_letter": "N",
          "problem_id": 9225,
          "problem_name": "Superstitious Helicopter Pilots",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "W",
          "problem_id": 2386,
          "problem_name": "도비의 영어 공부",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "X",
          "problem_id": 2975,
          "problem_name": "Transactions",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "Y",
          "problem_id": 3183,
          "problem_name": "Dates",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1144,
          "problem_letter": "Z",
          "problem_id": 4072,
          "problem_name": "Words",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1145,
      "contest_name": "NZPC 2002",
      "contest_full_name": "NZPC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1145,
          "problem_letter": "A",
          "problem_id": 9226,
          "problem_name": "도깨비말",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "B",
          "problem_id": 9227,
          "problem_name": "W**h y**r mouth out with s**p",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "C",
          "problem_id": 9228,
          "problem_name": "Check Digits",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "D",
          "problem_id": 9229,
          "problem_name": "단어 사다리",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "F",
          "problem_id": 9230,
          "problem_name": "TAXI ROUTES",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "G",
          "problem_id": 9231,
          "problem_name": "URNS",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "H",
          "problem_id": 9232,
          "problem_name": "Crossword Puzzle Clue Numbering",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "I",
          "problem_id": 9233,
          "problem_name": "Molecules, Molecules",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "K",
          "problem_id": 9234,
          "problem_name": "Molecules, Molecules 2",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1145,
          "problem_letter": "L",
          "problem_id": 9235,
          "problem_name": "Fragment reassembly",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1146,
      "contest_name": "NCPC 2013",
      "contest_full_name": "NCPC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1146,
          "problem_letter": "A",
          "problem_id": 9237,
          "problem_name": "이장님 초대",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "B",
          "problem_id": 9238,
          "problem_name": "당근 볶기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "C",
          "problem_id": 9239,
          "problem_name": "스티브 잡숭",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "D",
          "problem_id": 9240,
          "problem_name": "로버트 후드",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "E",
          "problem_id": 9241,
          "problem_name": "바이러스 복제",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "F",
          "problem_id": 9242,
          "problem_name": "폭탄 해체",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "G",
          "problem_id": 9243,
          "problem_name": "파일 완전 삭제",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "string",
            "parity"
          ],
          "tag_keys": [
            "string",
            "parity"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "H",
          "problem_id": 9244,
          "problem_name": "핀볼",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "set / map",
            "sweeping",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "set",
            "sweeping",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "I",
          "problem_id": 9245,
          "problem_name": "댄스",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "set / map by hashing",
            "mathematics",
            "modular multiplicative inverse",
            "number theory",
            "permutation cycle decomposition",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "math",
            "modular_multiplicative_inverse",
            "number_theory",
            "permutation_cycle_decomposition",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "J",
          "problem_id": 9246,
          "problem_name": "다트판",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "probability theory",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "probability",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1146,
          "problem_letter": "K",
          "problem_id": 9247,
          "problem_name": "절벽 걷기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1149,
      "contest_name": "SEERC 2013",
      "contest_full_name": "SEERC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1149,
          "problem_letter": "A",
          "problem_id": 9263,
          "problem_name": "Russian Dolls",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "B",
          "problem_id": 9264,
          "problem_name": "Intercity",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "graph traversal",
            "binary search",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "binary_search",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "C",
          "problem_id": 9265,
          "problem_name": "Count",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "binary search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "D",
          "problem_id": 9266,
          "problem_name": "체스 게임",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "game theory"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "E",
          "problem_id": 9267,
          "problem_name": "A+B",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "number theory",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "F",
          "problem_id": 9268,
          "problem_name": "Dragon Pattern",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "dynamic programming",
            "string",
            "exponentiation by squaring",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "math",
            "dp",
            "string",
            "exponentiation_by_squaring",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "G",
          "problem_id": 9269,
          "problem_name": "Points",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "H",
          "problem_id": 9270,
          "problem_name": "Red John Game",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "I",
          "problem_id": 9271,
          "problem_name": "Influence",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "dfs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1149,
          "problem_letter": "J",
          "problem_id": 9272,
          "problem_name": "상근이의 아이디어",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1150,
      "contest_name": "CTU Open Contest 2013",
      "contest_full_name": "CTU Open Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1150,
          "problem_letter": "L",
          "problem_id": 9273,
          "problem_name": "정제헌을 팔자!",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "M",
          "problem_id": 9274,
          "problem_name": "종이 지도",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "N",
          "problem_id": 9275,
          "problem_name": "토끼와 상근",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "O",
          "problem_id": 9276,
          "problem_name": "채소 보호",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bruteforcing",
            "geometry",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "P",
          "problem_id": 9277,
          "problem_name": "꽃병",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "Q",
          "problem_id": 9278,
          "problem_name": "절망적인 줄",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "R",
          "problem_id": 9279,
          "problem_name": "얼어붙은 스프링쿨러",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1150,
          "problem_letter": "S",
          "problem_id": 9280,
          "problem_name": "False Sense of Security",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1155,
      "contest_name": "BAPC 2013 Preliminaries",
      "contest_full_name": "BAPC 2013 Preliminaries",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1155,
          "problem_letter": "A",
          "problem_id": 9318,
          "problem_name": "위성 사진",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "value / coordinate compression",
            "difference array"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "coordinate_compression",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "B",
          "problem_id": 9319,
          "problem_name": "도청 장치",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "C",
          "problem_id": 9320,
          "problem_name": "금고 열기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing",
            "combinatorics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "combinatorics",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "D",
          "problem_id": 9321,
          "problem_name": "Dreaded Alternating Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "directed acyclic graph",
            "dynamic programming",
            "game theory",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dag",
            "dp",
            "game_theory",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "E",
          "problem_id": 9322,
          "problem_name": "철벽 보안 알고리즘",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "F",
          "problem_id": 9323,
          "problem_name": "무임승차",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "G",
          "problem_id": 9324,
          "problem_name": "진짜 메시지",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "H",
          "problem_id": 9325,
          "problem_name": "얼마?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "I",
          "problem_id": 9326,
          "problem_name": "MI6",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "J",
          "problem_id": 9327,
          "problem_name": "용량 확보",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1155,
          "problem_letter": "K",
          "problem_id": 9328,
          "problem_name": "열쇠",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1156,
      "contest_name": "2013 Rocky Mountain Regional Contest",
      "contest_full_name": "2013 Rocky Mountain Regional Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1156,
          "problem_letter": "A",
          "problem_id": 9329,
          "problem_name": "패스트 푸드 상금",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "B",
          "problem_id": 9330,
          "problem_name": "Seven Kingdoms",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "2-sat",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "C",
          "problem_id": 9331,
          "problem_name": "Institute of Advanced Category Manipulation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bruteforcing",
            "geometry",
            "convex hull",
            "geometry; 3d"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "convex_hull",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "D",
          "problem_id": 9332,
          "problem_name": "Digital Content Protection",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "E",
          "problem_id": 9333,
          "problem_name": "돈 갚기",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "F",
          "problem_id": 9334,
          "problem_name": "IQ 테스트",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "linear algebra",
            "berlekamp–massey"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "berlekamp_massey"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "berlekamp_massey",
              "name": "berlekamp–massey",
              "boj_tag_id": 110
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "G",
          "problem_id": 9335,
          "problem_name": "소셜 광고",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "H",
          "problem_id": 9336,
          "problem_name": "아스키 아트 표",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "I",
          "problem_id": 9337,
          "problem_name": "Flood-It",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1156,
          "problem_letter": "J",
          "problem_id": 9338,
          "problem_name": "Chemicals Monitoring",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1157,
      "contest_name": "2013 ACM-ICPC Thailand National Programming Contest ",
      "contest_full_name": "2013 ACM-ICPC Thailand National Programming Contest ",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Asia Thailand National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1157,
          "problem_letter": "A",
          "problem_id": 9339,
          "problem_name": "마라토너",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "B",
          "problem_id": 9340,
          "problem_name": "Network Planning",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "graph theory",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "C",
          "problem_id": 9341,
          "problem_name": "ZZ",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "dp",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "D",
          "problem_id": 9342,
          "problem_name": "염색체",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "E",
          "problem_id": 9343,
          "problem_name": "랜덤 걷기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "modular multiplicative inverse",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "modular_multiplicative_inverse",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "F",
          "problem_id": 9344,
          "problem_name": "도로",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "G",
          "problem_id": 9345,
          "problem_name": "디지털 비디오 디스크(DVDs)",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "H",
          "problem_id": 9346,
          "problem_name": "영화관",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "bitmask",
            "backtracking",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "backtracking",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "I",
          "problem_id": 9347,
          "problem_name": "울타리",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1157,
          "problem_letter": "J",
          "problem_id": 9348,
          "problem_name": "Magic Graphs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1158,
      "contest_name": "JCPC 2012",
      "contest_full_name": "JCPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest > ACM Jordanian Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1158,
          "problem_letter": "A",
          "problem_id": 9349,
          "problem_name": "Fegla and the Bed Bugs",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1158,
          "problem_letter": "B",
          "problem_id": 9350,
          "problem_name": "Do Not Disturb!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1158,
          "problem_letter": "C",
          "problem_id": 9351,
          "problem_name": "Casino",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1158,
          "problem_letter": "D",
          "problem_id": 9352,
          "problem_name": "Fundraised",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1158,
          "problem_letter": "E",
          "problem_id": 9353,
          "problem_name": "You Shall Not Pass!!",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1158,
          "problem_letter": "F",
          "problem_id": 9354,
          "problem_name": "It Is Cold",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1158,
          "problem_letter": "G",
          "problem_id": 9355,
          "problem_name": "Passwords",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1158,
          "problem_letter": "H",
          "problem_id": 9356,
          "problem_name": "Skill",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1158,
          "problem_letter": "I",
          "problem_id": 9357,
          "problem_name": "Eligibility",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1159,
      "contest_name": "LCPC 2011",
      "contest_full_name": "LCPC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest > Lebanese Collegiate Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1159,
          "problem_letter": "A",
          "problem_id": 9358,
          "problem_name": "순열 접기 게임",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "B",
          "problem_id": 9359,
          "problem_name": "서로소",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "inclusion and exclusion",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "inclusion_and_exclusion",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "C",
          "problem_id": 9360,
          "problem_name": "윔블던",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "arbitrary precision / big integers",
            "bayes theorem",
            "implementation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "bayes",
            "implementation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "bayes",
              "name": "bayes theorem",
              "boj_tag_id": 114
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "D",
          "problem_id": 9361,
          "problem_name": "Manhattan Sort",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "E",
          "problem_id": 9362,
          "problem_name": "Cipher",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1159,
          "problem_letter": "F",
          "problem_id": 9363,
          "problem_name": "큰 나눗셈",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "G",
          "problem_id": 9364,
          "problem_name": "Calculator",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "H",
          "problem_id": 9365,
          "problem_name": "Crank",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1159,
          "problem_letter": "I",
          "problem_id": 9366,
          "problem_name": "삼각형 분류",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1160,
      "contest_name": "BAPC 2013",
      "contest_full_name": "BAPC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1160,
          "problem_letter": "A",
          "problem_id": 9367,
          "problem_name": "관리 난항",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "B",
          "problem_id": 9368,
          "problem_name": "매수",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "C",
          "problem_id": 9369,
          "problem_name": "암호 깨기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "D",
          "problem_id": 9370,
          "problem_name": "미확인 도착지",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "E",
          "problem_id": 9371,
          "problem_name": "인코딩 좌표",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "F",
          "problem_id": 9372,
          "problem_name": "상근이의 여행",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "graph theory",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "G",
          "problem_id": 9373,
          "problem_name": "복도 뚫기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "geometry",
            "disjoint set",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "geometry",
            "disjoint_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "H",
          "problem_id": 9374,
          "problem_name": "감시 카메라",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "line segment intersection check",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "I",
          "problem_id": 9375,
          "problem_name": "패션왕 신해빈",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "data structures",
            "set / map",
            "combinatorics",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "set",
            "combinatorics",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1160,
          "problem_letter": "J",
          "problem_id": 9376,
          "problem_name": "탈옥",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1161,
      "contest_name": "Tehran Site 2008",
      "contest_full_name": "Tehran Site 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1161,
          "problem_letter": "A",
          "problem_id": 9377,
          "problem_name": "String LD",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1161,
          "problem_letter": "B",
          "problem_id": 9378,
          "problem_name": "Painting",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1161,
          "problem_letter": "C",
          "problem_id": 9379,
          "problem_name": "Another Brick in the Wall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1161,
          "problem_letter": "D",
          "problem_id": 9380,
          "problem_name": "Blast the Enemy!",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "geometry",
            "calculus",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "calculus",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1161,
          "problem_letter": "E",
          "problem_id": 9381,
          "problem_name": "deltree",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1161,
          "problem_letter": "F",
          "problem_id": 9382,
          "problem_name": "Solar Eclipse",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "geometry",
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1161,
          "problem_letter": "G",
          "problem_id": 9383,
          "problem_name": "Hurry Plotter",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1161,
          "problem_letter": "H",
          "problem_id": 9384,
          "problem_name": "ACM Coalition",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1161,
          "problem_letter": "I",
          "problem_id": 9385,
          "problem_name": "Fruit Weights",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1161,
          "problem_letter": "J",
          "problem_id": 9386,
          "problem_name": "Royal Gems",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1162,
      "contest_name": "Tehran Site 2010",
      "contest_full_name": "Tehran Site 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1162,
          "problem_letter": "A",
          "problem_id": 9387,
          "problem_name": "Gholam’s Simple Game",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1162,
          "problem_letter": "B",
          "problem_id": 9388,
          "problem_name": "Arbiter Login",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1162,
          "problem_letter": "C",
          "problem_id": 9389,
          "problem_name": "Drop7",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1162,
          "problem_letter": "D",
          "problem_id": 9390,
          "problem_name": "Seven Segment Counter",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1162,
          "problem_letter": "E",
          "problem_id": 9391,
          "problem_name": "Bus Shuttle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1162,
          "problem_letter": "F",
          "problem_id": 9392,
          "problem_name": "Conditional Statements",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1162,
          "problem_letter": "G",
          "problem_id": 9393,
          "problem_name": "Genome Evolution",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "set / map"
          ],
          "tag_keys": [
            "ad_hoc",
            "set"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1162,
          "problem_letter": "H",
          "problem_id": 9394,
          "problem_name": "World Cup Nominations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1162,
          "problem_letter": "I",
          "problem_id": 9395,
          "problem_name": "Killbots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1162,
          "problem_letter": "J",
          "problem_id": 9396,
          "problem_name": "Indisputable Right",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1162,
          "problem_letter": "K",
          "problem_id": 9397,
          "problem_name": "The Mayo Empire",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1163,
      "contest_name": "Tehran Site 2009",
      "contest_full_name": "Tehran Site 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1163,
          "problem_letter": "A",
          "problem_id": 9398,
          "problem_name": "A Password Policy Requirement",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "B",
          "problem_id": 9399,
          "problem_name": "Best Friends",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "C",
          "problem_id": 9400,
          "problem_name": "Calculate the Fence Needed",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "D",
          "problem_id": 9401,
          "problem_name": "Diamonds",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "E",
          "problem_id": 9402,
          "problem_name": "The Avaricious ISP",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "F",
          "problem_id": 9403,
          "problem_name": "Border Conflict",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "G",
          "problem_id": 9404,
          "problem_name": "Goguryeo and the Crown Prince",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "graph theory",
            "string",
            "graph traversal",
            "game theory",
            "linear algebra",
            "knuth–morris–pratt",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "string",
            "graph_traversal",
            "game_theory",
            "linear_algebra",
            "kmp",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1163,
          "problem_letter": "H",
          "problem_id": 9405,
          "problem_name": "Array Game",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1163,
          "problem_letter": "I",
          "problem_id": 9406,
          "problem_name": "Tracking Robots",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1163,
          "problem_letter": "J",
          "problem_id": 9407,
          "problem_name": "ACM Revenge",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "binary search",
            "depth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "binary_search",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1164,
      "contest_name": "2010 ACM-ICPC Thailand National Programming Contest",
      "contest_full_name": "2010 ACM-ICPC Thailand National Programming Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Asia Thailand National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1164,
          "problem_letter": "A",
          "problem_id": 9408,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1164,
          "problem_letter": "B",
          "problem_id": 9409,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1164,
          "problem_letter": "C",
          "problem_id": 9410,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1164,
          "problem_letter": "D",
          "problem_id": 9411,
          "problem_name": "실수 계산",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "implementation",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1164,
          "problem_letter": "E",
          "problem_id": 9412,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1164,
          "problem_letter": "F",
          "problem_id": 9413,
          "problem_name": "제주도 관광",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 1164,
          "problem_letter": "G",
          "problem_id": 9414,
          "problem_name": "프로그래밍 대회 전용 부지",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1164,
          "problem_letter": "H",
          "problem_id": 9415,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1164,
          "problem_letter": "I",
          "problem_id": 9416,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1164,
          "problem_letter": "J",
          "problem_id": 9417,
          "problem_name": "최대 GCD",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1165,
      "contest_name": "2009 ACM-ICPC Thailand National Programming Contest",
      "contest_full_name": "2009 ACM-ICPC Thailand National Programming Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Asia Thailand National Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1165,
          "problem_letter": "A",
          "problem_id": 9418,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1165,
          "problem_letter": "B",
          "problem_id": 9419,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1165,
          "problem_letter": "C",
          "problem_id": 9420,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1165,
          "problem_letter": "D",
          "problem_id": 9421,
          "problem_name": "소수상근수",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1165,
          "problem_letter": "E",
          "problem_id": 9422,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1165,
          "problem_letter": "F",
          "problem_id": 9423,
          "problem_name": "레슬링 팀 선발",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1165,
          "problem_letter": "G",
          "problem_id": 9424,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1165,
          "problem_letter": "H",
          "problem_id": 9425,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1166,
      "contest_name": "2013 South Central USA Regional Programming Contest",
      "contest_full_name": "2013 South Central USA Regional Programming Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1166,
          "problem_letter": "1",
          "problem_id": 9427,
          "problem_name": "Drop Zone",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "2",
          "problem_id": 9428,
          "problem_name": "Effective Infection Time",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "3",
          "problem_id": 9429,
          "problem_name": "Outpost Navigation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "case work",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "case_work",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "4",
          "problem_id": 9430,
          "problem_name": "Multikill",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "5",
          "problem_id": 9431,
          "problem_name": "Virology",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "6",
          "problem_id": 9432,
          "problem_name": "Worst Case Scenario",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "7",
          "problem_id": 9433,
          "problem_name": "Zombie Invasion",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1166,
          "problem_letter": "8",
          "problem_id": 9434,
          "problem_name": "Zombdar",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1167,
      "contest_name": "2013 Mid-Central Regional Programming Contest",
      "contest_full_name": "2013 Mid-Central Regional Programming Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1167,
          "problem_letter": "A",
          "problem_id": 9435,
          "problem_name": "Welcome Party",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1167,
          "problem_letter": "B",
          "problem_id": 9436,
          "problem_name": "Round Robin",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1167,
          "problem_letter": "C",
          "problem_id": 9437,
          "problem_name": "사라진 페이지 찾기",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1167,
          "problem_letter": "D",
          "problem_id": 9438,
          "problem_name": "Probability Paradox",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "probability theory",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "probability",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1167,
          "problem_letter": "E",
          "problem_id": 9439,
          "problem_name": "Letter Cubes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1167,
          "problem_letter": "F",
          "problem_id": 9440,
          "problem_name": "숫자 더하기",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1167,
          "problem_letter": "G",
          "problem_id": 9441,
          "problem_name": "Cash Cow",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1167,
          "problem_letter": "H",
          "problem_id": 9442,
          "problem_name": "Sort Me",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1168,
      "contest_name": "NEERC Northern Subregional 2013",
      "contest_full_name": "NEERC Northern Subregional 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1168,
          "problem_letter": "A",
          "problem_id": 9443,
          "problem_name": "Arrangement of Contest",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "B",
          "problem_id": 9444,
          "problem_name": "Ballot Analyzing Device",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "string",
            "sorting",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "sorting",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "C",
          "problem_id": 9445,
          "problem_name": "Correcting Curiosity",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1168,
          "problem_letter": "D",
          "problem_id": 9446,
          "problem_name": "아이템 제작",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "E",
          "problem_id": 9447,
          "problem_name": "Energy Tycoon",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "F",
          "problem_id": 9448,
          "problem_name": "Flight Boarding Optimization",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1168,
          "problem_letter": "G",
          "problem_id": 9449,
          "problem_name": "Garage",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "H",
          "problem_id": 9450,
          "problem_name": "Heavy Chain Clusterization",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1168,
          "problem_letter": "I",
          "problem_id": 9451,
          "problem_name": "Intellectual Property",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1168,
          "problem_letter": "J",
          "problem_id": 9452,
          "problem_name": "J",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "K",
          "problem_id": 9453,
          "problem_name": "학생의 수",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive",
            "graph theory",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "graphs",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1168,
          "problem_letter": "L",
          "problem_id": 9454,
          "problem_name": "Lonely Mountain",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "sweeping",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "sweeping",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1169,
      "contest_name": "Asia Regional - Daejeon 2013",
      "contest_full_name": "Asia Regional - Daejeon 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1169,
          "problem_letter": "A",
          "problem_id": 9455,
          "problem_name": "박스",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "B",
          "problem_id": 9456,
          "problem_name": "Buckets",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1169,
          "problem_letter": "C",
          "problem_id": 9457,
          "problem_name": "기하학문양",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "D",
          "problem_id": 9458,
          "problem_name": "Golf Field",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1169,
          "problem_letter": "E",
          "problem_id": 9459,
          "problem_name": "International Event",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1169,
          "problem_letter": "F",
          "problem_id": 9460,
          "problem_name": "메탈",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "sorting",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "G",
          "problem_id": 9461,
          "problem_name": "파도반 수열",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "H",
          "problem_id": 9462,
          "problem_name": "Passwords",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1169,
          "problem_letter": "I",
          "problem_id": 9463,
          "problem_name": "순열 그래프",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "J",
          "problem_id": 9464,
          "problem_name": "직사각형 집합",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "K",
          "problem_id": 9465,
          "problem_name": "스티커",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1169,
          "problem_letter": "L",
          "problem_id": 9466,
          "problem_name": "텀 프로젝트",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1170,
      "contest_name": "2013 Greater New York Programming Contest",
      "contest_full_name": "2013 Greater New York Programming Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1170,
          "problem_letter": "A",
          "problem_id": 9468,
          "problem_name": "Islands in the Data Stream",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "B",
          "problem_id": 9469,
          "problem_name": "폰 노이만",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "C",
          "problem_id": 9470,
          "problem_name": "Strahler 순서",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "D",
          "problem_id": 9471,
          "problem_name": "피사노 주기",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "pisano period"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "pisano"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "pisano",
              "name": "pisano period",
              "boj_tag_id": 232
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "E",
          "problem_id": 9472,
          "problem_name": "알고리즘 기말고사",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "F",
          "problem_id": 9473,
          "problem_name": "Chomp",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "G",
          "problem_id": 9474,
          "problem_name": "삼각 분할과 삼각형",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "constructive",
            "mathematics"
          ],
          "tag_keys": [
            "constructive",
            "math"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "H",
          "problem_id": 9475,
          "problem_name": "파스칼 제곱",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "combinatorics",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 1170,
          "problem_letter": "I",
          "problem_id": 9476,
          "problem_name": "Contraband",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1171,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2013 Southeast USA Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1171,
          "problem_letter": "A",
          "problem_id": 9477,
          "problem_name": "아름다운 강산",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "case work",
            "mathematics",
            "number theory",
            "prefix sum",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "math",
            "number_theory",
            "prefix_sum",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "B",
          "problem_id": 9478,
          "problem_name": "Nested 팰린드롬",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "C",
          "problem_id": 9479,
          "problem_name": "Ping!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "D",
          "problem_id": 9480,
          "problem_name": "Electric Car Rally",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "dial"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "dial"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dial",
              "name": "dial",
              "boj_tag_id": 224
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "E",
          "problem_id": 9481,
          "problem_name": "Skyscrapers",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "F",
          "problem_id": 9482,
          "problem_name": "가까운 만유인력",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "data structures",
            "geometry",
            "geometry; 3d",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "geometry",
            "geometry_3d",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "G",
          "problem_id": 9483,
          "problem_name": "Tandem Repeats",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "string",
            "divide and conquer",
            "suffix array and lcp array",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "string",
            "divide_and_conquer",
            "suffix_array",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "H",
          "problem_id": 9484,
          "problem_name": "최대삼각형, 최소삼각형",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "bulldozer trick"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        },
        {
          "contest_id": 1171,
          "problem_letter": "I",
          "problem_id": 9485,
          "problem_name": "It Takes a Village",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1171,
          "problem_letter": "J",
          "problem_id": 9486,
          "problem_name": "이름 남기기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1172,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2013 Southeast USA Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1172,
          "problem_letter": "A",
          "problem_id": 9487,
          "problem_name": "Cut the Cake",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "euler characteristic (χ=v-e+f)",
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "euler_characteristic",
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "B",
          "problem_id": 9488,
          "problem_name": "The n Days of Christmas",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "C",
          "problem_id": 9479,
          "problem_name": "Ping!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "D",
          "problem_id": 9480,
          "problem_name": "Electric Car Rally",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "dial"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "dial"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dial",
              "name": "dial",
              "boj_tag_id": 224
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "E",
          "problem_id": 9489,
          "problem_name": "사촌",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "F",
          "problem_id": 9490,
          "problem_name": "Decimal Representation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "G",
          "problem_id": 9491,
          "problem_name": "Politics",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "H",
          "problem_id": 9492,
          "problem_name": "Perfect Shuffle",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "I",
          "problem_id": 9493,
          "problem_name": "길면 기차, 기차는 빨라, 빠른 것은 비행기",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1172,
          "problem_letter": "J",
          "problem_id": 9494,
          "problem_name": "Text Roll",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1173,
      "contest_name": "2013 Pacific Northwest Region Programming Contest",
      "contest_full_name": "2013 Pacific Northwest Region Programming Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1173,
          "problem_letter": "A",
          "problem_id": 9501,
          "problem_name": "꿍의 우주여행",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "B",
          "problem_id": 9502,
          "problem_name": "Bones’s Battery",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "parametric search",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "parametric_search",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "C",
          "problem_id": 9503,
          "problem_name": "Crusher’s Code",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "implementation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "implementation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "D",
          "problem_id": 9504,
          "problem_name": "Delta Quadrant",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1173,
          "problem_letter": "E",
          "problem_id": 9505,
          "problem_name": "엔터프라이즈호 탈출",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "F",
          "problem_id": 9506,
          "problem_name": "약수들의 합",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "G",
          "problem_id": 9507,
          "problem_name": "Generations of Tribbles",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "H",
          "problem_id": 9508,
          "problem_name": "Holodeck Hacking",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "I",
          "problem_id": 9509,
          "problem_name": "Interstellar Trade",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "bruteforcing",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "J",
          "problem_id": 9510,
          "problem_name": "Janeway’s Journey",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1173,
          "problem_letter": "K",
          "problem_id": 9511,
          "problem_name": "Klingon Warfare",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1173,
          "problem_letter": "L",
          "problem_id": 9512,
          "problem_name": "Languages",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1173,
          "problem_letter": "M",
          "problem_id": 9513,
          "problem_name": "Mass Production",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1175,
      "contest_name": "Latin America Regional Contests 2013",
      "contest_full_name": "Latin America Regional Contests 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1175,
          "problem_letter": "A",
          "problem_id": 9525,
          "problem_name": "룩 배치하기",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "B",
          "problem_id": 9526,
          "problem_name": "꿍글리쉬",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1175,
          "problem_letter": "C",
          "problem_id": 9527,
          "problem_name": "1의 개수 세기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "prefix sum",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "prefix_sum",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "D",
          "problem_id": 9528,
          "problem_name": "Disjoint water supply",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "E",
          "problem_id": 9529,
          "problem_name": "11 (십 일)",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "F",
          "problem_id": 9530,
          "problem_name": "Football",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "G",
          "problem_id": 9531,
          "problem_name": "Go up the Ultras",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1175,
          "problem_letter": "H",
          "problem_id": 9532,
          "problem_name": "Hide and seek",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1175,
          "problem_letter": "I",
          "problem_id": 9533,
          "problem_name": "Inverting Huffman",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy"
          ],
          "tag_keys": [
            "data_structures",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "J",
          "problem_id": 9534,
          "problem_name": "Join two kingdoms",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "data structures",
            "depth-first search",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "segment tree",
            "tree",
            "two-pointer"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "dfs",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "segtree",
            "trees",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "PA",
          "problem_id": 9523,
          "problem_name": "Arithmetic with Morse",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "implementation",
            "mathematics",
            "parsing",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "math",
            "parsing",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1175,
          "problem_letter": "PB",
          "problem_id": 9524,
          "problem_name": "Beautiful Yekaterinburg",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1176,
      "contest_name": "CERC 2013",
      "contest_full_name": "CERC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1176,
          "problem_letter": "A",
          "problem_id": 9535,
          "problem_name": "Rubik's Rectangle",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc",
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "B",
          "problem_id": 9536,
          "problem_name": "여우는 어떻게 울지?",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "parsing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "C",
          "problem_id": 9537,
          "problem_name": "잘생긴 GCD",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "D",
          "problem_id": 9538,
          "problem_name": "Subway",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "graph theory",
            "data structures",
            "string",
            "graph traversal",
            "breadth-first search",
            "set / map by hashing",
            "parsing",
            "sparse table"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "data_structures",
            "string",
            "graph_traversal",
            "bfs",
            "hash_set",
            "parsing",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "E",
          "problem_id": 9539,
          "problem_name": "Escape",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "data structures",
            "greedy",
            "tree",
            "set / map",
            "disjoint set",
            "priority queue",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "trees",
            "set",
            "disjoint_set",
            "priority_queue",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "F",
          "problem_id": 9540,
          "problem_name": "Draughts",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "G",
          "problem_id": 9541,
          "problem_name": "역사 시간",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "binary search",
            "data structures",
            "greedy",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "greedy",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "H",
          "problem_id": 9542,
          "problem_name": "Chain & Co.",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "I",
          "problem_id": 9543,
          "problem_name": "Crane",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "J",
          "problem_id": 9544,
          "problem_name": "Captain Obvious and the Rabbit-Man",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "K",
          "problem_id": 9545,
          "problem_name": "폭탄 받아라",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "constructive",
            "depth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "constructive",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1176,
          "problem_letter": "L",
          "problem_id": 9546,
          "problem_name": "3000번 버스",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1177,
      "contest_name": "2013 Arab Collegiate Programming Contest",
      "contest_full_name": "2013 Arab Collegiate Programming Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1177,
          "problem_letter": "A",
          "problem_id": 9631,
          "problem_name": "The Alphabet Sticker",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "string",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "string",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "B",
          "problem_id": 9632,
          "problem_name": "Swyper Keyboard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1177,
          "problem_letter": "C",
          "problem_id": 9633,
          "problem_name": "Increasing Shortest Path",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "offline queries"
          ],
          "tag_keys": [
            "dp",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "D",
          "problem_id": 9634,
          "problem_name": "Cup of Cowards",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1177,
          "problem_letter": "E",
          "problem_id": 9635,
          "problem_name": "Balloons Colors",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "F",
          "problem_id": 9636,
          "problem_name": "NASSA’s Robot",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "G",
          "problem_id": 9637,
          "problem_name": "The Stones Game",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "game theory"
          ],
          "tag_keys": [
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "H",
          "problem_id": 9638,
          "problem_name": "Super Ants",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1177,
          "problem_letter": "I",
          "problem_id": 9639,
          "problem_name": "Omar Loves Candies",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "J",
          "problem_id": 9640,
          "problem_name": "Modified LCS",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "K",
          "problem_id": 9641,
          "problem_name": "Mario Kart",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1177,
          "problem_letter": "L",
          "problem_id": 9642,
          "problem_name": "Omar’s Bug",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1178,
      "contest_name": "2012 Arab Collegiate Programming Contest",
      "contest_full_name": "2012 Arab Collegiate Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1178,
          "problem_letter": "A",
          "problem_id": 9547,
          "problem_name": "대통령 선거",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "B",
          "problem_id": 9548,
          "problem_name": "무제",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "string",
            "tree",
            "splay tree",
            "rope"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "splay_tree",
            "rope"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            },
            {
              "key": "rope",
              "name": "rope",
              "boj_tag_id": 159
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "C",
          "problem_id": 9549,
          "problem_name": "암호화된 비밀번호",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "sliding window"
          ],
          "tag_keys": [
            "string",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "D",
          "problem_id": 9550,
          "problem_name": "아이들은 사탕을 좋아해",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "E",
          "problem_id": 9551,
          "problem_name": "바꾸기 놀이",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1178,
          "problem_letter": "F",
          "problem_id": 9552,
          "problem_name": "잠금 패턴",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "G",
          "problem_id": 9553,
          "problem_name": "양궁",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "H",
          "problem_id": 9554,
          "problem_name": "섬 연결하기",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1178,
          "problem_letter": "I",
          "problem_id": 9555,
          "problem_name": "대회 장소 준비",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1178,
          "problem_letter": "J",
          "problem_id": 9556,
          "problem_name": "수학 숙제",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "exponentiation by squaring",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1179,
      "contest_name": "2011 Arab Collegiate Programming Contest",
      "contest_full_name": "2011 Arab Collegiate Programming Contest",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1179,
          "problem_letter": "A",
          "problem_id": 9557,
          "problem_name": "Arabic and English",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1179,
          "problem_letter": "B",
          "problem_id": 9558,
          "problem_name": "Between the Mountains",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1179,
          "problem_letter": "C",
          "problem_id": 9559,
          "problem_name": "Circleland",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1179,
          "problem_letter": "D",
          "problem_id": 9560,
          "problem_name": "Dice on a Board",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1179,
          "problem_letter": "E",
          "problem_id": 9561,
          "problem_name": "Error",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1179,
          "problem_letter": "F",
          "problem_id": 9562,
          "problem_name": "Fence",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1179,
          "problem_letter": "G",
          "problem_id": 9563,
          "problem_name": "Go",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1179,
          "problem_letter": "H",
          "problem_id": 9564,
          "problem_name": "Homework",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1179,
          "problem_letter": "I",
          "problem_id": 9565,
          "problem_name": "Identify the Number",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1179,
          "problem_letter": "J",
          "problem_id": 9566,
          "problem_name": "Joy of the Cylinder Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1183,
      "contest_name": "NEERC 2013",
      "contest_full_name": "NEERC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1183,
          "problem_letter": "A",
          "problem_id": 9579,
          "problem_name": "ASCII Puzzle",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "B",
          "problem_id": 9580,
          "problem_name": "Bonus Cards",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "C",
          "problem_id": 9581,
          "problem_name": "Cactus Automorphisms",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "cactus",
            "graph theory",
            "hashing",
            "strongly connected component",
            "tree",
            "tree isomorphism"
          ],
          "tag_keys": [
            "cactus",
            "graphs",
            "hashing",
            "scc",
            "trees",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "D",
          "problem_id": 9582,
          "problem_name": "Dictionary",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "directed minimum spanning tree",
            "graph theory"
          ],
          "tag_keys": [
            "directed_mst",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "directed_mst",
              "name": "directed minimum spanning tree",
              "boj_tag_id": 23
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "E",
          "problem_id": 9583,
          "problem_name": "Easy Geometry",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "geometry",
            "parametric search",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "parametric_search",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "F",
          "problem_id": 9584,
          "problem_name": "Fraud Busters",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "G",
          "problem_id": 9585,
          "problem_name": "Green Energy",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "H",
          "problem_id": 9586,
          "problem_name": "Hack Protection",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "binary search",
            "data structures",
            "set / map by hashing",
            "prefix sum",
            "set / map"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "hash_set",
            "prefix_sum",
            "set"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "I",
          "problem_id": 10873,
          "problem_name": "Interactive Interception",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "heuristics"
          ],
          "tag_keys": [
            "binary_search",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "J",
          "problem_id": 9587,
          "problem_name": "Join the Conversation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "data structures",
            "string",
            "binary search",
            "set / map",
            "set / map by hashing",
            "parsing",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "data_structures",
            "string",
            "binary_search",
            "set",
            "hash_set",
            "parsing",
            "dag"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 1183,
          "problem_letter": "K",
          "problem_id": 9588,
          "problem_name": "Kabaleo Lite",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1184,
      "contest_name": "SWERC 2013",
      "contest_full_name": "SWERC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1184,
          "problem_letter": "A",
          "problem_id": 9589,
          "problem_name": "Mixing Colours",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "B",
          "problem_id": 9590,
          "problem_name": "It Can Be Arranged",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "C",
          "problem_id": 9591,
          "problem_name": "Shopping Malls",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "D",
          "problem_id": 9592,
          "problem_name": "Decoding the Hallway",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "recursion",
            "string"
          ],
          "tag_keys": [
            "recursion",
            "string"
          ],
          "tag_details": [
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "E",
          "problem_id": 9593,
          "problem_name": "Joe is learning to speak",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "hashing",
            "set / map by hashing",
            "implementation",
            "parsing",
            "string",
            "tree",
            "trie",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hashing",
            "hash_set",
            "implementation",
            "parsing",
            "string",
            "trees",
            "trie",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "F",
          "problem_id": 9594,
          "problem_name": "Odd and Even Zeroes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "divide and conquer"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "G",
          "problem_id": 9595,
          "problem_name": "VivoParc",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "H",
          "problem_id": 9596,
          "problem_name": "바이너리 트리",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "I",
          "problem_id": 9597,
          "problem_name": "Trending Topic",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "prefix sum",
            "set / map by trees",
            "parsing",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "prefix_sum",
            "tree_set",
            "parsing",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1184,
          "problem_letter": "J",
          "problem_id": 9598,
          "problem_name": "Cleaning the Hallway",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "calculus",
            "case work",
            "geometry",
            "green's theorem",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "case_work",
            "geometry",
            "green",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "green",
              "name": "green's theorem",
              "boj_tag_id": 183
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1185,
      "contest_name": "Asia Regional Contest 2013 in Aizu",
      "contest_full_name": "Asia Regional Contest 2013 in Aizu",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1185,
          "problem_letter": "A",
          "problem_id": 9599,
          "problem_name": "Equal Sum Sets",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "backtracking"
          ],
          "tag_keys": [
            "dp",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1185,
          "problem_letter": "B",
          "problem_id": 9600,
          "problem_name": "The Last Ant",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1185,
          "problem_letter": "C",
          "problem_id": 9601,
          "problem_name": "Count the Regions",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "value / coordinate compression",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "coordinate_compression",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1185,
          "problem_letter": "D",
          "problem_id": 9602,
          "problem_name": "Clock Hands",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1185,
          "problem_letter": "E",
          "problem_id": 9603,
          "problem_name": "Dragon’s Cruller",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1185,
          "problem_letter": "F",
          "problem_id": 9604,
          "problem_name": "Directional Resemblance",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1185,
          "problem_letter": "G",
          "problem_id": 9605,
          "problem_name": "Longest Chain",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "data structures",
            "dynamic programming",
            "longest increasing sequence problem",
            "parametric search",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "dp",
            "lis",
            "parametric_search",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1185,
          "problem_letter": "H",
          "problem_id": 9606,
          "problem_name": "Don’t Burst the Balloon",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1185,
          "problem_letter": "I",
          "problem_id": 9607,
          "problem_name": "Hidden Tree",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1185,
          "problem_letter": "J",
          "problem_id": 9608,
          "problem_name": "C(O|W|A*RD*|S)* CROSSWORD Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1186,
      "contest_name": "2013 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_full_name": "2013 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 1186,
          "problem_letter": "A",
          "problem_id": 9614,
          "problem_name": "잠금 패턴과 스패닝 트리",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "B",
          "problem_id": 9615,
          "problem_name": "Teaching Hazard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1186,
          "problem_letter": "C",
          "problem_id": 9616,
          "problem_name": "홀수 정사각형",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "D",
          "problem_id": 9617,
          "problem_name": "SSD",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "case work"
          ],
          "tag_keys": [
            "graphs",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "E",
          "problem_id": 9618,
          "problem_name": "Airport Sort",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "F",
          "problem_id": 9619,
          "problem_name": "박스",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1186,
          "problem_letter": "G",
          "problem_id": 9620,
          "problem_name": "Meeting Room Arrangement",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "H",
          "problem_id": 9621,
          "problem_name": "팰린드롬 여행",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "graph theory",
            "probability theory",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "probability",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "I",
          "problem_id": 9622,
          "problem_name": "Cabin Baggage",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "J",
          "problem_id": 9623,
          "problem_name": "부분 수열의 길이",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "prefix sum"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "K",
          "problem_id": 9624,
          "problem_name": "Safari Park",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1186,
          "problem_letter": "PA",
          "problem_id": 9609,
          "problem_name": "PSU Campuses",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "PB",
          "problem_id": 9610,
          "problem_name": "사분면",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "PC",
          "problem_id": 9611,
          "problem_name": "Vicinity",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "bruteforcing",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "PD",
          "problem_id": 9612,
          "problem_name": "Maximum Word Frequency",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1186,
          "problem_letter": "PE",
          "problem_id": 9613,
          "problem_name": "GCD 합",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1188,
      "contest_name": "NWERC 2013",
      "contest_full_name": "NWERC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1188,
          "problem_letter": "A",
          "problem_id": 9643,
          "problem_name": "Absurdistan Roads",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "greedy",
            "constructive",
            "shortest path",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "constructive",
            "shortest_path",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "B",
          "problem_id": 9644,
          "problem_name": "Battle for Silver",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "planar graph"
          ],
          "tag_keys": [
            "graphs",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "C",
          "problem_id": 9645,
          "problem_name": "Card Trick",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "D",
          "problem_id": 9646,
          "problem_name": "다이어그램과 태블로",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "E",
          "problem_id": 9647,
          "problem_name": "Exponential Towers",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "number theory",
            "case work",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "case_work",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "F",
          "problem_id": 9648,
          "problem_name": "First Date",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "case work",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "G",
          "problem_id": 9649,
          "problem_name": "Grachten",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "H",
          "problem_id": 9650,
          "problem_name": "Highway of the Future",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1188,
          "problem_letter": "I",
          "problem_id": 9651,
          "problem_name": "Infix to Prefix",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1188,
          "problem_letter": "J",
          "problem_id": 9652,
          "problem_name": "Jingle Balls",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "dynamic programming",
            "dynamic programming on trees",
            "parsing",
            "stack",
            "string",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "dp_tree",
            "parsing",
            "stack",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1190,
      "contest_name": "Tehran Site 2013",
      "contest_full_name": "Tehran Site 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1190,
          "problem_letter": "A",
          "problem_id": 9670,
          "problem_name": "Movie",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1190,
          "problem_letter": "B",
          "problem_id": 9671,
          "problem_name": "SMS Poll",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1190,
          "problem_letter": "C",
          "problem_id": 9672,
          "problem_name": "Traitor",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1190,
          "problem_letter": "D",
          "problem_id": 9673,
          "problem_name": "Intelligent Traffic Surveillance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1190,
          "problem_letter": "E",
          "problem_id": 9674,
          "problem_name": "BitTorrent",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1190,
          "problem_letter": "F",
          "problem_id": 9675,
          "problem_name": "2D-Solar System",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1190,
          "problem_letter": "G",
          "problem_id": 9676,
          "problem_name": "Bowling Ball",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "physics",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "physics",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1190,
          "problem_letter": "H",
          "problem_id": 9677,
          "problem_name": "LED에 전원 같은 걸 끼얹기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bellman–ford",
            "data structures",
            "disjoint set",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bellman_ford",
            "data_structures",
            "disjoint_set",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1190,
          "problem_letter": "I",
          "problem_id": 9678,
          "problem_name": "Mixed Flight Plans",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1190,
          "problem_letter": "J",
          "problem_id": 9679,
          "problem_name": "Sweeping Robot",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1190,
          "problem_letter": "K",
          "problem_id": 9680,
          "problem_name": "Wedding Hall",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "binary search",
            "data structures",
            "segment tree with lazy propagation",
            "parametric search",
            "segment tree",
            "sweeping",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "lazyprop",
            "parametric_search",
            "segtree",
            "sweeping",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1192,
      "contest_name": "AMPPZ 2013",
      "contest_full_name": "AMPPZ 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1192,
          "problem_letter": "A",
          "problem_id": 9682,
          "problem_name": "The Motorway",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "ternary search"
          ],
          "tag_keys": [
            "binary_search",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1192,
          "problem_letter": "B",
          "problem_id": 9683,
          "problem_name": "Bytehattan",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1192,
          "problem_letter": "C",
          "problem_id": 9684,
          "problem_name": "The Carpenter",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1192,
          "problem_letter": "D",
          "problem_id": 9685,
          "problem_name": "Demonstrations",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sweeping",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "sweeping",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1192,
          "problem_letter": "E",
          "problem_id": 9686,
          "problem_name": "The Exam",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1192,
          "problem_letter": "F",
          "problem_id": 9687,
          "problem_name": "Speed Cameras",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1192,
          "problem_letter": "G",
          "problem_id": 9688,
          "problem_name": "Marbles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1192,
          "problem_letter": "H",
          "problem_id": 9689,
          "problem_name": "The Hero",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1192,
          "problem_letter": "I",
          "problem_id": 9690,
          "problem_name": "Genetic Engineering",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1192,
          "problem_letter": "J",
          "problem_id": 9691,
          "problem_name": "Janosik",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1192,
          "problem_letter": "K",
          "problem_id": 9692,
          "problem_name": "Blankets",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "implementation",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1192,
          "problem_letter": "P",
          "problem_id": 9681,
          "problem_name": "Suitcases",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1193,
      "contest_name": "Al-Khawarizmi National Programming Contest 2013",
      "contest_full_name": "Al-Khawarizmi National Programming Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia > Malaysia National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1193,
          "problem_letter": "A",
          "problem_id": 9693,
          "problem_name": "시파르",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "B",
          "problem_id": 9694,
          "problem_name": "무엇을 아느냐가 아니라 누구를 아느냐가 문제다",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "C",
          "problem_id": 9695,
          "problem_name": "Filter And Perform",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1193,
          "problem_letter": "D",
          "problem_id": 9696,
          "problem_name": "Show Me The Operators",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "string",
            "arithmetic",
            "case work",
            "parsing",
            "deque"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "string",
            "arithmetic",
            "case_work",
            "parsing",
            "deque"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "E",
          "problem_id": 9697,
          "problem_name": "THE SULTAN'S CHAPATI",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "constructive",
            "greedy",
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "constructive",
            "greedy",
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "F",
          "problem_id": 9698,
          "problem_name": "SAHUR & IMSA’",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "G",
          "problem_id": 9699,
          "problem_name": "RICE SACK",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "H",
          "problem_id": 9700,
          "problem_name": "RAINFOREST CANOPY",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "I",
          "problem_id": 9701,
          "problem_name": "EVEN POSITIVE CLOSURE SUM",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1193,
          "problem_letter": "J",
          "problem_id": 9702,
          "problem_name": "LIS",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "lis"
          ],
          "tag_details": [
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1194,
      "contest_name": "Al-Khawarizmi National Programming Contest 2012",
      "contest_full_name": "Al-Khawarizmi National Programming Contest 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia > Malaysia National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1194,
          "problem_letter": "A",
          "problem_id": 9703,
          "problem_name": "Anti-Arithmetic Permutation",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1194,
          "problem_letter": "B",
          "problem_id": 9704,
          "problem_name": "Longest Balanced Sub-Sequence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1194,
          "problem_letter": "C",
          "problem_id": 9705,
          "problem_name": "CHARITY BOOTH RENTAL",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1194,
          "problem_letter": "D",
          "problem_id": 9706,
          "problem_name": "FIND THE MARBLES",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "geometry",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1194,
          "problem_letter": "E",
          "problem_id": 9707,
          "problem_name": "Supercap Travels",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1194,
          "problem_letter": "F",
          "problem_id": 9708,
          "problem_name": "Charles Babbage's Difference Engine",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1194,
          "problem_letter": "G",
          "problem_id": 9709,
          "problem_name": "Lights",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1194,
          "problem_letter": "H",
          "problem_id": 9710,
          "problem_name": "Rooks",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1194,
          "problem_letter": "I",
          "problem_id": 9711,
          "problem_name": "피보나치",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1194,
          "problem_letter": "J",
          "problem_id": 9712,
          "problem_name": "Prefix Free Subsets",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "string",
            "tree",
            "combinatorics",
            "trie"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "string",
            "trees",
            "combinatorics",
            "trie"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1195,
      "contest_name": "Al-Khawarizmi National Programming Contest 2011",
      "contest_full_name": "Al-Khawarizmi National Programming Contest 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia > Malaysia National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1195,
          "problem_letter": "A",
          "problem_id": 9713,
          "problem_name": "Sum of Odd Sequence",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "B",
          "problem_id": 9714,
          "problem_name": "Spiral",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "case work",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "C",
          "problem_id": 9715,
          "problem_name": "Surface Area",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "D",
          "problem_id": 9716,
          "problem_name": "Table",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "sorting",
            "ad-hoc",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "ad_hoc",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "E",
          "problem_id": 9717,
          "problem_name": "Huge Knight",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "breadth-first search",
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "ad_hoc",
            "bfs",
            "data_structures",
            "graphs",
            "graph_traversal",
            "hash_set",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "F",
          "problem_id": 9718,
          "problem_name": "Matrix Transformation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "greedy",
            "ad-hoc",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "ad_hoc",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "G",
          "problem_id": 9719,
          "problem_name": "Bi‐coloring",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "H",
          "problem_id": 9720,
          "problem_name": "Sorting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "greedy",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1195,
          "problem_letter": "I",
          "problem_id": 9721,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1195,
          "problem_letter": "J",
          "problem_id": 9722,
          "problem_name": "Qurban 2011",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1196,
      "contest_name": "Al-Khawarizmi National Programming Contest 2010",
      "contest_full_name": "Al-Khawarizmi National Programming Contest 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia > Malaysia National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1196,
          "problem_letter": "A",
          "problem_id": 9723,
          "problem_name": "Right Triangle",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "B",
          "problem_id": 9724,
          "problem_name": "Perfect Cube",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "C",
          "problem_id": 9725,
          "problem_name": "Mod-3 Permutation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "D",
          "problem_id": 9726,
          "problem_name": "Negative Binary",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "E",
          "problem_id": 9727,
          "problem_name": "Mini Sudoku X",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "F",
          "problem_id": 9728,
          "problem_name": "Pair Sum",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "G",
          "problem_id": 9729,
          "problem_name": "XOR",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1196,
          "problem_letter": "H",
          "problem_id": 9730,
          "problem_name": "Sequence Merging",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "I",
          "problem_id": 9731,
          "problem_name": "Recurrence",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1196,
          "problem_letter": "J",
          "problem_id": 9732,
          "problem_name": "Division Game",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "game theory",
            "primality test",
            "sieve of eratosthenes",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "game_theory",
            "primality_test",
            "sieve",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1197,
      "contest_name": "Philippines Multi-Provincial Programming Contest 2013",
      "contest_full_name": "Philippines Multi-Provincial Programming Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Philippines > Philippines Multi-Provincial Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1197,
          "problem_letter": "A",
          "problem_id": 9733,
          "problem_name": "꿀벌",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "B",
          "problem_id": 9734,
          "problem_name": "순환 소수",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "parsing",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "parsing",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "C",
          "problem_id": 9735,
          "problem_name": "삼차 방정식 풀기",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "bruteforcing",
            "numerical analysis"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "numerical_analysis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "numerical_analysis",
              "name": "numerical analysis",
              "boj_tag_id": 122
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "D",
          "problem_id": 9736,
          "problem_name": "정이면체군",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "E",
          "problem_id": 9737,
          "problem_name": "Area Between Outer Hull and Inner Hull",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "convex hull",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "F",
          "problem_id": 9738,
          "problem_name": "Sharkovski’s Ordering",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "G",
          "problem_id": 9739,
          "problem_name": "M M Detour",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1197,
          "problem_letter": "H",
          "problem_id": 9740,
          "problem_name": "More Fun in Bicol",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1197,
          "problem_letter": "I",
          "problem_id": 9741,
          "problem_name": "Interior Lattice Points",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "area of a polygon",
            "pick's theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "polygon_area",
            "pick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "pick",
              "name": "pick's theorem",
              "boj_tag_id": 187
            }
          ]
        },
        {
          "contest_id": 1197,
          "problem_letter": "J",
          "problem_id": 9742,
          "problem_name": "순열",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1198,
      "contest_name": "Thailand Northen Regional Programming Contest 2013",
      "contest_full_name": "Thailand Northen Regional Programming Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Northen Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1198,
          "problem_letter": "A",
          "problem_id": 9743,
          "problem_name": "방정식 부수기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1198,
          "problem_letter": "B",
          "problem_id": 9744,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "C",
          "problem_id": 9745,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "D",
          "problem_id": 9746,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "E",
          "problem_id": 9747,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "F",
          "problem_id": 9748,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "G",
          "problem_id": 9749,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "H",
          "problem_id": 9750,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "I",
          "problem_id": 9751,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1198,
          "problem_letter": "J",
          "problem_id": 9752,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1199,
      "contest_name": "Thailand Central Group-B Programming Contest 2013",
      "contest_full_name": "Thailand Central Group-B Programming Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Central Group-B Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1199,
          "problem_letter": "A",
          "problem_id": 9753,
          "problem_name": "짝 곱",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1199,
          "problem_letter": "B",
          "problem_id": 9754,
          "problem_name": "ระบายสีต้นไม้ (Tree Coloring)",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "tree",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "trees",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1199,
          "problem_letter": "C",
          "problem_id": 9755,
          "problem_name": "Booster",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1199,
          "problem_letter": "D",
          "problem_id": 9756,
          "problem_name": "Goldbach (Extension of Goldbach’s Conjecture)",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1199,
          "problem_letter": "E",
          "problem_id": 9757,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1199,
          "problem_letter": "F",
          "problem_id": 9758,
          "problem_name": "Vacuum World",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1199,
          "problem_letter": "G",
          "problem_id": 9759,
          "problem_name": "Profits",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1199,
          "problem_letter": "H",
          "problem_id": 9760,
          "problem_name": "Search Suggestion",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree",
            "merge sort tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree",
            "merge_sort_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            }
          ]
        },
        {
          "contest_id": 1199,
          "problem_letter": "I",
          "problem_id": 9761,
          "problem_name": "2D Max Filter",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1200,
      "contest_name": "Thailand Central Group-A Programming Contest 2013",
      "contest_full_name": "Thailand Central Group-A Programming Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Central Group-A Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1200,
          "problem_letter": "A",
          "problem_id": 9762,
          "problem_name": "โรงงานลูกกวาด (Candy Factory)",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "tree",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "trees",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1200,
          "problem_letter": "B",
          "problem_id": 9763,
          "problem_name": "마을의 친밀도",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1200,
          "problem_letter": "C",
          "problem_id": 9764,
          "problem_name": "서로 다른 자연수의 합",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1200,
          "problem_letter": "D",
          "problem_id": 9765,
          "problem_name": "여섯 방정식",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1200,
          "problem_letter": "E",
          "problem_id": 9766,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1200,
          "problem_letter": "F",
          "problem_id": 9767,
          "problem_name": "Joint Venture",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1200,
          "problem_letter": "G",
          "problem_id": 9768,
          "problem_name": "Straight Flush",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1200,
          "problem_letter": "H",
          "problem_id": 9769,
          "problem_name": "ถุงพลาสติก (Plastic)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1201,
      "contest_name": "Thailand Southern Programming Contest 2013",
      "contest_full_name": "Thailand Southern Programming Contest 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Southern Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1201,
          "problem_letter": "A",
          "problem_id": 9774,
          "problem_name": "Unlock My Safe",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "B",
          "problem_id": 9775,
          "problem_name": "Two Mysterious Alphabets from a Tree",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "C",
          "problem_id": 9776,
          "problem_name": "Max Volume",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "D",
          "problem_id": 9777,
          "problem_name": "Birthday Statistics",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "E",
          "problem_id": 9778,
          "problem_name": "Nonogram",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "F",
          "problem_id": 9779,
          "problem_name": "Jane’s First Words",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "G",
          "problem_id": 9780,
          "problem_name": "Range Sum Query",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "H",
          "problem_id": 9764,
          "problem_name": "서로 다른 자연수의 합",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "PA",
          "problem_id": 9770,
          "problem_name": "GCD",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "PB",
          "problem_id": 9771,
          "problem_name": "Word Searching",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "PC",
          "problem_id": 9772,
          "problem_name": "Quadrants",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1201,
          "problem_letter": "PD",
          "problem_id": 9773,
          "problem_name": "ID Key",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1202,
      "contest_name": "Thailand Southern Programming Contest 2012",
      "contest_full_name": "Thailand Southern Programming Contest 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Southern Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1202,
          "problem_letter": "A",
          "problem_id": 9782,
          "problem_name": "Median",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "B",
          "problem_id": 9783,
          "problem_name": "Easy Encryption",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "C",
          "problem_id": 9784,
          "problem_name": "Boiled Eggs",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "D",
          "problem_id": 9785,
          "problem_name": "Damage Over Time",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "E",
          "problem_id": 9786,
          "problem_name": "Common Fraction",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "F",
          "problem_id": 9787,
          "problem_name": "Olympic Games Ranking",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "G",
          "problem_id": 9788,
          "problem_name": "Cut The List",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1202,
          "problem_letter": "H",
          "problem_id": 9789,
          "problem_name": "Friendship Graph",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1203,
      "contest_name": "Thailand Southern Programming Contest 2011",
      "contest_full_name": "Thailand Southern Programming Contest 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Southern Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1203,
          "problem_letter": "A",
          "problem_id": 9790,
          "problem_name": "Elephant Show",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1203,
          "problem_letter": "B",
          "problem_id": 9791,
          "problem_name": "Encoding Binary Numbers",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1203,
          "problem_letter": "C",
          "problem_id": 9792,
          "problem_name": "Chorus",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1203,
          "problem_letter": "D",
          "problem_id": 9793,
          "problem_name": "Length and Frequency of Sentences",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1203,
          "problem_letter": "E",
          "problem_id": 9794,
          "problem_name": "Another Word Sorting",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "sorting",
            "string"
          ],
          "tag_keys": [
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1203,
          "problem_letter": "F",
          "problem_id": 9795,
          "problem_name": "Form Guide",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1203,
          "problem_letter": "G",
          "problem_id": 9796,
          "problem_name": "Cracking Tree Codes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1203,
          "problem_letter": "H",
          "problem_id": 9797,
          "problem_name": "uHunt",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1204,
      "contest_name": "NEERC Northern Subregional 2002",
      "contest_full_name": "NEERC Northern Subregional 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1204,
          "problem_letter": "A",
          "problem_id": 9798,
          "problem_name": "Cartesian Tree",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "set / map",
            "stack",
            "cartesian tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "set",
            "stack",
            "cartesian_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "cartesian_tree",
              "name": "cartesian tree",
              "boj_tag_id": 206
            }
          ]
        },
        {
          "contest_id": 1204,
          "problem_letter": "B",
          "problem_id": 9799,
          "problem_name": "Strange Graph",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "ad-hoc",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 1204,
          "problem_letter": "C",
          "problem_id": 9800,
          "problem_name": "Patience",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking",
            "graph theory",
            "graph traversal",
            "precomputation"
          ],
          "tag_keys": [
            "backtracking",
            "graphs",
            "graph_traversal",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1204,
          "problem_letter": "D",
          "problem_id": 9801,
          "problem_name": "Commuter train",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1204,
          "problem_letter": "E",
          "problem_id": 9802,
          "problem_name": "Self-Replicating Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1204,
          "problem_letter": "F",
          "problem_id": 9803,
          "problem_name": "Magic Multiplying Machine",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1204,
          "problem_letter": "G",
          "problem_id": 9804,
          "problem_name": "Intuitionistic Logic",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "graph theory",
            "string",
            "bruteforcing",
            "parsing",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "string",
            "bruteforcing",
            "parsing",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1204,
          "problem_letter": "H",
          "problem_id": 9805,
          "problem_name": "Pyramids",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "arbitrary precision / big integers",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "arbitrary_precision",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1204,
          "problem_letter": "I",
          "problem_id": 9806,
          "problem_name": "The King",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1205,
      "contest_name": "2002 ACM Asia Programming Contest Kaohsiung Site",
      "contest_full_name": "2002 ACM Asia Programming Contest Kaohsiung Site",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 1205,
          "problem_letter": "A",
          "problem_id": 9807,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1205,
          "problem_letter": "B",
          "problem_id": 9808,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1205,
          "problem_letter": "C",
          "problem_id": 9809,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1205,
          "problem_letter": "D",
          "problem_id": 9810,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1205,
          "problem_letter": "E",
          "problem_id": 9811,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1205,
          "problem_letter": "F",
          "problem_id": 9812,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1206,
      "contest_name": "Xi'an Regional Contest 2002",
      "contest_full_name": "Xi'an Regional Contest 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Xi&#x27;an",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1206,
          "problem_letter": "A",
          "problem_id": 9813,
          "problem_name": "Computing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "B",
          "problem_id": 9814,
          "problem_name": "Coding of Permutations",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "combinatorics",
            "implementation",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "combinatorics",
            "implementation",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "C",
          "problem_id": 9815,
          "problem_name": "Cabric Number Problem",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "D",
          "problem_id": 9816,
          "problem_name": "Number of Locks",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "backtracking",
            "precomputation"
          ],
          "tag_keys": [
            "dp",
            "backtracking",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "E",
          "problem_id": 9817,
          "problem_name": "Necklace of Beads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "combinatorics",
            "burnside's lemma"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "burnside"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "burnside",
              "name": "burnside's lemma",
              "boj_tag_id": 16
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "F",
          "problem_id": 9818,
          "problem_name": "Quantity of White Mice",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "G",
          "problem_id": 9819,
          "problem_name": "Color Change of Go Game Pieces",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "simulation",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "H",
          "problem_id": 9820,
          "problem_name": "Placement of Keys",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "combinatorics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1206,
          "problem_letter": "I",
          "problem_id": 9821,
          "problem_name": "Selecting the Optimal Teaching Fiends",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1214,
      "contest_name": "2013 East Central Regional Contest",
      "contest_full_name": "2013 East Central Regional Contest",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1214,
          "problem_letter": "A",
          "problem_id": 9854,
          "problem_name": "Battleships",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1214,
          "problem_letter": "B",
          "problem_id": 9855,
          "problem_name": "Cuckoo for Hashing",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1214,
          "problem_letter": "C",
          "problem_id": 9856,
          "problem_name": "Playing Fair with Cryptography",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1214,
          "problem_letter": "D",
          "problem_id": 9857,
          "problem_name": "Rent-A-Pixel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1214,
          "problem_letter": "E",
          "problem_id": 9858,
          "problem_name": "Stampede!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1214,
          "problem_letter": "F",
          "problem_id": 9859,
          "problem_name": "Super Phyllis",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "graphs",
            "graph_traversal",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1214,
          "problem_letter": "G",
          "problem_id": 9860,
          "problem_name": "Tree Lighting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1214,
          "problem_letter": "H",
          "problem_id": 9861,
          "problem_name": "The Urge to Merge",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1214,
          "problem_letter": "I",
          "problem_id": 9862,
          "problem_name": "Xenospeak",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1214,
          "problem_letter": "PA",
          "problem_id": 9863,
          "problem_name": "Calling All Programmers",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 1214,
          "problem_letter": "PB",
          "problem_id": 9864,
          "problem_name": "Rocky",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1214,
          "problem_letter": "PC",
          "problem_id": 9865,
          "problem_name": "Undercut",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1231,
      "contest_name": "NCNA 2013",
      "contest_full_name": "NCNA 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1231,
          "problem_letter": "A",
          "problem_id": 9939,
          "problem_name": "Bowling Score Assistant",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1231,
          "problem_letter": "B",
          "problem_id": 9940,
          "problem_name": "Spectrum",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1231,
          "problem_letter": "C",
          "problem_id": 9941,
          "problem_name": "One Move from Towers of Hanoi",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "recursion"
          ],
          "tag_keys": [
            "recursion"
          ],
          "tag_details": [
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1231,
          "problem_letter": "D",
          "problem_id": 9942,
          "problem_name": "하노이의 네 탑",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1231,
          "problem_letter": "E",
          "problem_id": 9943,
          "problem_name": "Light Switches",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking",
            "primality test",
            "prime factorization",
            "pollard rho",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking",
            "primality_test",
            "prime_factorization",
            "pollard_rho",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 1231,
          "problem_letter": "F",
          "problem_id": 9944,
          "problem_name": "NxM 보드 완주하기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1231,
          "problem_letter": "G",
          "problem_id": 9945,
          "problem_name": "Centroid of Point Masses",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1231,
          "problem_letter": "H",
          "problem_id": 9946,
          "problem_name": "단어 퍼즐",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1232,
      "contest_name": "NZPC 2007",
      "contest_full_name": "NZPC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 1232,
          "problem_letter": "A",
          "problem_id": 9947,
          "problem_name": "Coin tossing",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "B",
          "problem_id": 9948,
          "problem_name": "Have you had your birthday yet?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "C",
          "problem_id": 9949,
          "problem_name": "Hide those Letters",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "D",
          "problem_id": 9950,
          "problem_name": "Rectangles",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "E",
          "problem_id": 9951,
          "problem_name": "Word Extraction",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "set / map by trees",
            "parsing",
            "regular expression"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set",
            "tree_set",
            "parsing",
            "regex"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "F",
          "problem_id": 9952,
          "problem_name": "Bree's pantry",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "sorting",
            "deque"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "deque"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "G",
          "problem_id": 9953,
          "problem_name": "Paula's search",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "binary search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "H",
          "problem_id": 9954,
          "problem_name": "Cedric's Cypher",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "I",
          "problem_id": 9955,
          "problem_name": "Recycling",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "J",
          "problem_id": 9956,
          "problem_name": "Reversing Words",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "K",
          "problem_id": 9957,
          "problem_name": "Word Crosses",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1232,
          "problem_letter": "L",
          "problem_id": 9958,
          "problem_name": "All Squares",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "M",
          "problem_id": 9959,
          "problem_name": "Dominosa",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "N",
          "problem_id": 9960,
          "problem_name": "Digit Sums",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1232,
          "problem_letter": "O",
          "problem_id": 9961,
          "problem_name": "Stamps",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1232,
          "problem_letter": "P",
          "problem_id": 9962,
          "problem_name": "Assimilation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1233,
      "contest_name": "2003 South Central USA Regional Programming Contest",
      "contest_full_name": "2003 South Central USA Regional Programming Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1233,
          "problem_letter": "1",
          "problem_id": 9963,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "2",
          "problem_id": 9964,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "3",
          "problem_id": 9965,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "4",
          "problem_id": 9966,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "5",
          "problem_id": 9967,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "6",
          "problem_id": 9968,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "7",
          "problem_id": 9969,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1233,
          "problem_letter": "8",
          "problem_id": 9970,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1234,
      "contest_name": "2002 South Central USA Regional Programming Contest",
      "contest_full_name": "2002 South Central USA Regional Programming Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1234,
          "problem_letter": "1",
          "problem_id": 9971,
          "problem_name": "The Hardest Problem Ever",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1234,
          "problem_letter": "2",
          "problem_id": 9972,
          "problem_name": "Rubik’s Cube Solver",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1234,
          "problem_letter": "3",
          "problem_id": 9973,
          "problem_name": "Polar Explorer",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1234,
          "problem_letter": "4",
          "problem_id": 9974,
          "problem_name": "Door Man",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "case work",
            "eulerian path / circuit",
            "graph theory",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "eulerian_path",
            "graphs",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1234,
          "problem_letter": "5",
          "problem_id": 9975,
          "problem_name": "The Umbrella Problem: 2054",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1234,
          "problem_letter": "6",
          "problem_id": 9976,
          "problem_name": "Blue Gene, Jr.",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "recursion",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "recursion",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1234,
          "problem_letter": "7",
          "problem_id": 9977,
          "problem_name": "Byte Me!",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1234,
          "problem_letter": "8",
          "problem_id": 9978,
          "problem_name": "World’s Worst Bus Schedule",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1235,
      "contest_name": "2001 South Central USA Regional Programming Contest",
      "contest_full_name": "2001 South Central USA Regional Programming Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1235,
          "problem_letter": "1",
          "problem_id": 9979,
          "problem_name": "Does This Make Me Look Fat?",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1235,
          "problem_letter": "2",
          "problem_id": 9980,
          "problem_name": "Manifest Destiny",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1235,
          "problem_letter": "3",
          "problem_id": 9981,
          "problem_name": "Treasure Hunters",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1235,
          "problem_letter": "4",
          "problem_id": 9982,
          "problem_name": "Frogger's For Dinner",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1235,
          "problem_letter": "5",
          "problem_id": 9983,
          "problem_name": "더 푸르게",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking",
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1235,
          "problem_letter": "6",
          "problem_id": 9984,
          "problem_name": "Get Out 'Da Way!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1235,
          "problem_letter": "7",
          "problem_id": 9985,
          "problem_name": "Missing Piece 2001",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "meet in the middle",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hash_set",
            "mitm",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1235,
          "problem_letter": "8",
          "problem_id": 9986,
          "problem_name": "Asteroids!",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1250,
      "contest_name": "ACM-ICPC World Finals 2014",
      "contest_full_name": "ACM-ICPC World Finals 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > World Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1250,
          "problem_letter": "A",
          "problem_id": 10050,
          "problem_name": "블록",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "ad-hoc",
            "constructive",
            "recursion"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "B",
          "problem_id": 10051,
          "problem_name": "Buffed Buffet",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "binary search",
            "priority queue",
            "parametric search",
            "knapsack",
            "calculus",
            "convex hull trick"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "binary_search",
            "priority_queue",
            "parametric_search",
            "knapsack",
            "calculus",
            "cht"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "C",
          "problem_id": 10052,
          "problem_name": "Crane Balancing",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "geometry",
            "case work",
            "area of a polygon",
            "physics"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "case_work",
            "polygon_area",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "D",
          "problem_id": 10053,
          "problem_name": "필승 전략",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "breadth-first search",
            "dynamic programming",
            "game theory",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "dp",
            "game_theory",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "E",
          "problem_id": 10054,
          "problem_name": "Maze Reduction",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "hashing"
          ],
          "tag_keys": [
            "hashing"
          ],
          "tag_details": [
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "F",
          "problem_id": 10055,
          "problem_name": "Messenger",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "binary search",
            "geometry",
            "greedy",
            "parametric search",
            "two-pointer"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "greedy",
            "parametric_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "G",
          "problem_id": 10056,
          "problem_name": "Metal Processing Plant",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "2-sat",
            "binary search",
            "data structures",
            "disjoint set",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "binary_search",
            "data_structures",
            "disjoint_set",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "H",
          "problem_id": 10057,
          "problem_name": "Pachinko",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "I",
          "problem_id": 10058,
          "problem_name": "센서 네트워크",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "geometry",
            "bipartite matching"
          ],
          "tag_keys": [
            "geometry",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "J",
          "problem_id": 10059,
          "problem_name": "Skiing",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "dynamic programming",
            "traceback",
            "calculus",
            "physics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "traceback",
            "calculus",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "K",
          "problem_id": 10060,
          "problem_name": "감시 카메라",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "greedy",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 1250,
          "problem_letter": "L",
          "problem_id": 10061,
          "problem_name": "Wire Crossing",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "0-1 bfs",
            "arbitrary precision / big integers",
            "breadth-first search",
            "data structures",
            "depth-first search",
            "dijkstra's",
            "disjoint set",
            "dual graph",
            "geometry",
            "graph theory",
            "graph traversal",
            "line segment intersection check",
            "planar graph",
            "point in non-convex polygon check",
            "area of a polygon",
            "shortest path"
          ],
          "tag_keys": [
            "0_1_bfs",
            "arbitrary_precision",
            "bfs",
            "data_structures",
            "dfs",
            "dijkstra",
            "disjoint_set",
            "dual_graph",
            "geometry",
            "graphs",
            "graph_traversal",
            "line_intersection",
            "planar_graph",
            "point_in_non_convex_polygon",
            "polygon_area",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "dual_graph",
              "name": "dual graph",
              "boj_tag_id": 181
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1281,
      "contest_name": "2014 Japan Domestic Contest",
      "contest_full_name": "2014 Japan Domestic Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 1281,
          "problem_letter": "A",
          "problem_id": 10233,
          "problem_name": "Tax Rate Changed",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1281,
          "problem_letter": "B",
          "problem_id": 10234,
          "problem_name": "Chain Disappearance Puzzle",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1281,
          "problem_letter": "C",
          "problem_id": 10235,
          "problem_name": "Vampire",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1281,
          "problem_letter": "D",
          "problem_id": 10236,
          "problem_name": "Encryption System",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "sorting",
            "backtracking"
          ],
          "tag_keys": [
            "sorting",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1281,
          "problem_letter": "E",
          "problem_id": 10237,
          "problem_name": "Bridge Removal",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1281,
          "problem_letter": "F",
          "problem_id": 10238,
          "problem_name": "A Die Maker",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bruteforcing",
            "greedy"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1281,
          "problem_letter": "G",
          "problem_id": 10239,
          "problem_name": "Don't Cross the Circles!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1282,
      "contest_name": "NAIPC 2014",
      "contest_full_name": "NAIPC 2014",
      "contest_year": 2014,
      "contest_path": "University > NAIPC",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1282,
          "problem_letter": "A",
          "problem_id": 10240,
          "problem_name": "Banjo",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "B",
          "problem_id": 10241,
          "problem_name": "Cheats",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1282,
          "problem_letter": "C",
          "problem_id": 10242,
          "problem_name": "Diplomacy",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "ad-hoc",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "ad_hoc",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "D",
          "problem_id": 10243,
          "problem_name": "Fantastic Problem",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "mathematics",
            "number theory",
            "primality test",
            "segment tree",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "data_structures",
            "math",
            "number_theory",
            "primality_test",
            "segtree",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "E",
          "problem_id": 10244,
          "problem_name": "최대공약수들",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "F",
          "problem_id": 10245,
          "problem_name": "Gold Bandits",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "bruteforcing",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "G",
          "problem_id": 10246,
          "problem_name": "부동산 경매",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "H",
          "problem_id": 10247,
          "problem_name": "Reconnaissance",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ternary search"
          ],
          "tag_keys": [
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "I",
          "problem_id": 10248,
          "problem_name": "Super Mario 169",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bitmask",
            "bruteforcing",
            "dynamic programming",
            "dynamic programming using bitfield",
            "geometry",
            "geometry; 3d",
            "implementation",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "dp",
            "dp_bitfield",
            "geometry",
            "geometry_3d",
            "implementation",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1282,
          "problem_letter": "J",
          "problem_id": 10249,
          "problem_name": "Two Knight’s Poem",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1283,
      "contest_name": "Daejeon Nationalwide Internet Competition 2014",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1283,
          "problem_letter": "A",
          "problem_id": 10250,
          "problem_name": "ACM 호텔",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "B",
          "problem_id": 10251,
          "problem_name": "운전 면허 시험",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "C",
          "problem_id": 10252,
          "problem_name": "그리드 그래프",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "D",
          "problem_id": 10253,
          "problem_name": "헨리",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "E",
          "problem_id": 10254,
          "problem_name": "고속도로",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "F",
          "problem_id": 10255,
          "problem_name": "교차점",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "case work",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "case_work",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "G",
          "problem_id": 10256,
          "problem_name": "돌연변이",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "string",
            "tree",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "H",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "I",
          "problem_id": 10257,
          "problem_name": "얼룩",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "backtracking"
          ],
          "tag_keys": [
            "dp",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "J",
          "problem_id": 10258,
          "problem_name": "스위치 배열",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "dp",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1283,
          "problem_letter": "K",
          "problem_id": 8879,
          "problem_name": "Surely You Congest",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dijkstra's",
            "maximum flow",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "flow",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1284,
      "contest_name": "NCPC 2014",
      "contest_full_name": "NCPC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1284,
          "problem_letter": "A",
          "problem_id": 10259,
          "problem_name": "Amanda Lounges",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "B",
          "problem_id": 10260,
          "problem_name": "Basin City Surveillance",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "C",
          "problem_id": 10261,
          "problem_name": "Catalan Square",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "combinatorics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "D",
          "problem_id": 10262,
          "problem_name": "주사위 게임",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "E",
          "problem_id": 10263,
          "problem_name": "Opening Ceremony",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "F",
          "problem_id": 10264,
          "problem_name": "Particle Swapping",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "binary search",
            "disjoint set",
            "minimum spanning tree",
            "lowest common ancestor",
            "parallel binary search"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "binary_search",
            "disjoint_set",
            "mst",
            "lca",
            "pbs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "pbs",
              "name": "parallel binary search",
              "boj_tag_id": 54
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "G",
          "problem_id": 10265,
          "problem_name": "MT",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "depth-first search",
            "knapsack",
            "strongly connected component",
            "functional graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "dfs",
            "knapsack",
            "scc",
            "functional_graph"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "H",
          "problem_id": 10266,
          "problem_name": "시계 사진들",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "I",
          "problem_id": 10267,
          "problem_name": "사각형은 몇 개?",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "set / map"
          ],
          "tag_keys": [
            "geometry",
            "set"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "J",
          "problem_id": 10268,
          "problem_name": "Road Work",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "case work"
          ],
          "tag_keys": [
            "dp",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1284,
          "problem_letter": "K",
          "problem_id": 10269,
          "problem_name": "Train Passengers",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1285,
      "contest_name": "GCPC 2014",
      "contest_full_name": "GCPC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1285,
          "problem_letter": "A",
          "problem_id": 10270,
          "problem_name": "Algebraic Teamwork",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "B",
          "problem_id": 10271,
          "problem_name": "Beam me out!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "case work",
            "directed acyclic graph",
            "graph theory",
            "graph traversal",
            "topological sorting"
          ],
          "tag_keys": [
            "bfs",
            "case_work",
            "dag",
            "graphs",
            "graph_traversal",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "C",
          "problem_id": 10272,
          "problem_name": "현상금 사냥꾼 김정은",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "D",
          "problem_id": 10273,
          "problem_name": "고대 동굴 탐사",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "E",
          "problem_id": 10274,
          "problem_name": "Equator",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "F",
          "problem_id": 10275,
          "problem_name": "골드 러시",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "G",
          "problem_id": 10276,
          "problem_name": "Jewelry Exhibition",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "H",
          "problem_id": 10277,
          "problem_name": "JuQueen",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "I",
          "problem_id": 10278,
          "problem_name": "Laser Cutting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "J",
          "problem_id": 10279,
          "problem_name": "부분 수열이 아님",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "string",
            "shortest path"
          ],
          "tag_keys": [
            "dp",
            "string",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1285,
          "problem_letter": "K",
          "problem_id": 10280,
          "problem_name": "Pizza voting",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1286,
      "contest_name": "BAPC 2014 Preliminaries",
      "contest_full_name": "BAPC 2014 Preliminaries",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1286,
          "problem_letter": "A",
          "problem_id": 10281,
          "problem_name": "Choosing Ice Cream",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1286,
          "problem_letter": "B",
          "problem_id": 10282,
          "problem_name": "해킹",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1286,
          "problem_letter": "C",
          "problem_id": 10283,
          "problem_name": "Floor Painting",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1286,
          "problem_letter": "D",
          "problem_id": 10284,
          "problem_name": "Lift Problems",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1286,
          "problem_letter": "E",
          "problem_id": 10285,
          "problem_name": "Pawns",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1286,
          "problem_letter": "F",
          "problem_id": 10286,
          "problem_name": "Runway Planning",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1286,
          "problem_letter": "G",
          "problem_id": 10287,
          "problem_name": "Spy Network",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "directed acyclic graph",
            "dynamic programming",
            "euclidean algorithm",
            "graph theory",
            "mathematics",
            "number theory",
            "strongly connected component",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "dp",
            "euclidean",
            "graphs",
            "math",
            "number_theory",
            "scc",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1286,
          "problem_letter": "H",
          "problem_id": 10288,
          "problem_name": "Talent Selection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1286,
          "problem_letter": "I",
          "problem_id": 10289,
          "problem_name": "Train Station Tunnel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1286,
          "problem_letter": "J",
          "problem_id": 10290,
          "problem_name": "Word Search",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1287,
      "contest_name": "Thailand Central Group-A Programming Contest 2014",
      "contest_full_name": "Thailand Central Group-A Programming Contest 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Central Group-A Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1287,
          "problem_letter": "A",
          "problem_id": 10291,
          "problem_name": "Ribbon",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "B",
          "problem_id": 10292,
          "problem_name": "Man in the Middle",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "articulation points and bridges"
          ],
          "tag_keys": [
            "graphs",
            "articulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "C",
          "problem_id": 10293,
          "problem_name": "Ranks in groups",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set",
            "set / map by trees",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set",
            "tree_set",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "D",
          "problem_id": 10294,
          "problem_name": "Shops",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "E",
          "problem_id": 10295,
          "problem_name": "Hiking",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "F",
          "problem_id": 10296,
          "problem_name": "IceBucketChallenge",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "G",
          "problem_id": 10297,
          "problem_name": "ผู้เฒ่าเต่า",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1287,
          "problem_letter": "H",
          "problem_id": 10298,
          "problem_name": "Tigger",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1288,
      "contest_name": "Thailand Northen Regional Programming Contest 2014",
      "contest_full_name": "Thailand Northen Regional Programming Contest 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Northen Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1288,
          "problem_letter": "A",
          "problem_id": 10299,
          "problem_name": "아미노산",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "B",
          "problem_id": 10300,
          "problem_name": "Goldbach Partition",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "C",
          "problem_id": 10301,
          "problem_name": "Cookie Farm",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "D",
          "problem_id": 10302,
          "problem_name": "การแบ่งพื้นที่แบบบันไดวน",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "E",
          "problem_id": 10303,
          "problem_name": "Headshot",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1288,
          "problem_letter": "F",
          "problem_id": 10304,
          "problem_name": "Golden Khon Kaen",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "G",
          "problem_id": 10305,
          "problem_name": "Maximal Sum",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "H",
          "problem_id": 10306,
          "problem_name": "Radix 32",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "I",
          "problem_id": 10307,
          "problem_name": "Van Gogh",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1288,
          "problem_letter": "J",
          "problem_id": 10308,
          "problem_name": "Two’s Network",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1289,
      "contest_name": "CTU Open Contest 2014",
      "contest_full_name": "CTU Open Contest 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1289,
          "problem_letter": "A",
          "problem_id": 10309,
          "problem_name": "Kolonie",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1289,
          "problem_letter": "B",
          "problem_id": 10310,
          "problem_name": "Most",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1289,
          "problem_letter": "C",
          "problem_id": 10311,
          "problem_name": "Stavitel",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1289,
          "problem_letter": "D",
          "problem_id": 10312,
          "problem_name": "Lodê",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "greedy",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1289,
          "problem_letter": "E",
          "problem_id": 10313,
          "problem_name": "Direct Visibility",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1289,
          "problem_letter": "F",
          "problem_id": 10314,
          "problem_name": "Karel the Robot",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1289,
          "problem_letter": "G",
          "problem_id": 10315,
          "problem_name": "More or Less Accurate",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1289,
          "problem_letter": "H",
          "problem_id": 10316,
          "problem_name": "Self-Intersecting Path",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1289,
          "problem_letter": "I",
          "problem_id": 10317,
          "problem_name": "Lengthy Traveling Salesman",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "tree",
            "centroid"
          ],
          "tag_keys": [
            "trees",
            "centroid"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            }
          ]
        },
        {
          "contest_id": 1289,
          "problem_letter": "J",
          "problem_id": 10318,
          "problem_name": "Picture Validator",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1290,
      "contest_name": "BAPC 2014",
      "contest_full_name": "BAPC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1290,
          "problem_letter": "A",
          "problem_id": 10319,
          "problem_name": "좀비 아포칼립스",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "B",
          "problem_id": 10320,
          "problem_name": "Button Bashing",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "C",
          "problem_id": 10321,
          "problem_name": "요새 건설",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "two-pointer",
            "convex hull",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "two_pointer",
            "convex_hull",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "D",
          "problem_id": 10322,
          "problem_name": "Dropping Directions",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "eulerian path / circuit",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "ad_hoc",
            "eulerian_path",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "E",
          "problem_id": 10323,
          "problem_name": "Excellent Engineers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "F",
          "problem_id": 10324,
          "problem_name": "Floating Formation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "graph traversal",
            "tree",
            "segment tree",
            "breadth-first search",
            "depth-first search",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "graph_traversal",
            "trees",
            "segtree",
            "bfs",
            "dfs",
            "dag"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "G",
          "problem_id": 10325,
          "problem_name": "Growling Gears",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "H",
          "problem_id": 10326,
          "problem_name": "Highway Hassle",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dijkstra's",
            "graph theory",
            "greedy",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "greedy",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "I",
          "problem_id": 10327,
          "problem_name": "피보나치 문제해결전략",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "J",
          "problem_id": 10328,
          "problem_name": "Jury Jeopardy",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "graph theory",
            "simulation",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "simulation",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1290,
          "problem_letter": "K",
          "problem_id": 10329,
          "problem_name": "Key to Knowledge",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bidirectional search",
            "bruteforcing",
            "data structures",
            "graph theory",
            "meet in the middle",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "bidirectional_search",
            "bruteforcing",
            "data_structures",
            "graphs",
            "mitm",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bidirectional_search",
              "name": "bidirectional search",
              "boj_tag_id": 129
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1291,
      "contest_name": "Asia Regional Contest 2014 in Tokyo",
      "contest_full_name": "Asia Regional Contest 2014 in Tokyo",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1291,
          "problem_letter": "A",
          "problem_id": 10330,
          "problem_name": "비트 문자열 재배열하기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "B",
          "problem_id": 10331,
          "problem_name": "Miscalculation",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "C",
          "problem_id": 10332,
          "problem_name": "Shopping",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "D",
          "problem_id": 10333,
          "problem_name": "Space Golf",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "calculus",
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "E",
          "problem_id": 10334,
          "problem_name": "Automotive Navigation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "F",
          "problem_id": 10335,
          "problem_name": "There is No Alternative",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "G",
          "problem_id": 10336,
          "problem_name": "Flipping Parentheses",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "H",
          "problem_id": 10337,
          "problem_name": "Cornering at Poles",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "implementation",
            "graph theory",
            "graph traversal",
            "geometry",
            "shortest path",
            "dijkstra's",
            "line segment intersection check"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "graphs",
            "graph_traversal",
            "geometry",
            "shortest_path",
            "dijkstra",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1291,
          "problem_letter": "I",
          "problem_id": 10338,
          "problem_name": "Sweet War",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1291,
          "problem_letter": "J",
          "problem_id": 10339,
          "problem_name": "Exhibition",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1291,
          "problem_letter": "K",
          "problem_id": 10340,
          "problem_name": "L∞ Jumps",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1292,
      "contest_name": "2014 Mid-Central Regional Programming Contest",
      "contest_full_name": "2014 Mid-Central Regional Programming Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1292,
          "problem_letter": "A",
          "problem_id": 10341,
          "problem_name": "(More) Multiplication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "B",
          "problem_id": 10342,
          "problem_name": "Fun House",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "C",
          "problem_id": 10343,
          "problem_name": "Lexicography",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "string",
            "sorting",
            "combinatorics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "string",
            "sorting",
            "combinatorics",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "D",
          "problem_id": 10344,
          "problem_name": "The Leprechaun Hunt",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "E",
          "problem_id": 10345,
          "problem_name": "Word Cloud",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "F",
          "problem_id": 10346,
          "problem_name": "The Maze Makers",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "bitmask",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bitmask",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "G",
          "problem_id": 10347,
          "problem_name": "Reverse Rot",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "H",
          "problem_id": 10348,
          "problem_name": "Shrine Maintenance",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "number theory",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "number_theory",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1292,
          "problem_letter": "I",
          "problem_id": 10349,
          "problem_name": "Wet Tiles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1293,
      "contest_name": "SEERC 2014",
      "contest_full_name": "SEERC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1293,
          "problem_letter": "A",
          "problem_id": 10350,
          "problem_name": "Banks",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "ad-hoc",
            "prefix sum",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "prefix_sum",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "B",
          "problem_id": 10351,
          "problem_name": "Circle of digits",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "greedy",
            "string",
            "binary search",
            "parametric search",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "binary_search",
            "parametric_search",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "C",
          "problem_id": 10352,
          "problem_name": "UFO",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1293,
          "problem_letter": "D",
          "problem_id": 10353,
          "problem_name": "Frame",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "E",
          "problem_id": 10354,
          "problem_name": "Points",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "F",
          "problem_id": 10355,
          "problem_name": "Most Influential Pumpkin",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "parametric search",
            "square root decomposition"
          ],
          "tag_keys": [
            "parametric_search",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "G",
          "problem_id": 10356,
          "problem_name": "Grammar",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "H",
          "problem_id": 10357,
          "problem_name": "Triples",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1293,
          "problem_letter": "I",
          "problem_id": 10358,
          "problem_name": "Multi-Machine Scheduling of Two Applications",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1293,
          "problem_letter": "J",
          "problem_id": 10359,
          "problem_name": "Strange Antennas",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "value / coordinate compression",
            "sweeping"
          ],
          "tag_keys": [
            "coordinate_compression",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1294,
      "contest_name": "ACM ICPC Asia Kuala Lumpur Regional Contest 2014",
      "contest_full_name": "ACM ICPC Asia Kuala Lumpur Regional Contest 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1294,
          "problem_letter": "A",
          "problem_id": 10360,
          "problem_name": "The Mountain of Gold?",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "B",
          "problem_id": 10361,
          "problem_name": "Sequence",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "C",
          "problem_id": 10362,
          "problem_name": "Turtle Graphics",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "D",
          "problem_id": 10363,
          "problem_name": "Circle and Marble",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "depth-first search",
            "dynamic programming",
            "dynamic programming on trees",
            "game theory",
            "graph theory",
            "graph traversal",
            "sprague–grundy theorem",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "dp",
            "dp_tree",
            "game_theory",
            "graphs",
            "graph_traversal",
            "sprague_grundy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "E",
          "problem_id": 10364,
          "problem_name": "Group of Strangers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "F",
          "problem_id": 10365,
          "problem_name": "Pantun Grader",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1294,
          "problem_letter": "G",
          "problem_id": 10366,
          "problem_name": "Hari Merdeka",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "aho-corasick",
            "data structures",
            "dynamic programming",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "data_structures",
            "dp",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "H",
          "problem_id": 10367,
          "problem_name": "Túnel de Rata",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "I",
          "problem_id": 10368,
          "problem_name": "Best Position",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1294,
          "problem_letter": "J",
          "problem_id": 10369,
          "problem_name": "Spokes Wheel",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "K",
          "problem_id": 10370,
          "problem_name": "Ball",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1294,
          "problem_letter": "L",
          "problem_id": 10371,
          "problem_name": "Irrigation Lines",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1295,
      "contest_name": "NEERC Northern Subregional 2014",
      "contest_full_name": "NEERC Northern Subregional 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1295,
          "problem_letter": "A",
          "problem_id": 10372,
          "problem_name": "Alarm Clock",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "B",
          "problem_id": 10373,
          "problem_name": "Buffcraft",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "C",
          "problem_id": 10374,
          "problem_name": "Combinator Expression",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1295,
          "problem_letter": "D",
          "problem_id": 10375,
          "problem_name": "Digits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "bruteforcing",
            "precomputation"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "E",
          "problem_id": 10376,
          "problem_name": "Expression",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "graph theory",
            "string",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dijkstra's",
            "traceback",
            "0-1 bfs",
            "regular expression"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "string",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dijkstra",
            "traceback",
            "0_1_bfs",
            "regex"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "F",
          "problem_id": 10377,
          "problem_name": "Fragmentation",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "G",
          "problem_id": 10378,
          "problem_name": "Grave",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "H",
          "problem_id": 10379,
          "problem_name": "Hiking in the Hills",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "geometry",
            "graph theory",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "graphs",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "I",
          "problem_id": 10380,
          "problem_name": "Instruction",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "backtracking",
            "bit set",
            "graph theory",
            "implementation",
            "simulation",
            "tree"
          ],
          "tag_keys": [
            "backtracking",
            "bitset",
            "graphs",
            "implementation",
            "simulation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "J",
          "problem_id": 10381,
          "problem_name": "Joy of Flight",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "geometry",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1295,
          "problem_letter": "K",
          "problem_id": 10382,
          "problem_name": "Kebab House",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1296,
      "contest_name": "2014 East Central Regional Contest",
      "contest_full_name": "2014 East Central Regional Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1296,
          "problem_letter": "A",
          "problem_id": 10386,
          "problem_name": "\\(\\text{Con}+\\cfrac{\\text{tin}}{\\text{ued}+\\cfrac{\\text{Frac}}{\\text{tions}}}\\)",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1296,
          "problem_letter": "B",
          "problem_id": 10387,
          "problem_name": "A Cure for the Common Code",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1296,
          "problem_letter": "C",
          "problem_id": 10388,
          "problem_name": "Domiyahtzee!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1296,
          "problem_letter": "D",
          "problem_id": 10389,
          "problem_name": "Generalized Roman Numerals",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1296,
          "problem_letter": "E",
          "problem_id": 10390,
          "problem_name": "Inspectors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow",
            "hungarian"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf",
            "hungarian"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            }
          ]
        },
        {
          "contest_id": 1296,
          "problem_letter": "F",
          "problem_id": 10391,
          "problem_name": "Path of Least Persistence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1296,
          "problem_letter": "G",
          "problem_id": 10392,
          "problem_name": "Speed Skills",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1296,
          "problem_letter": "H",
          "problem_id": 10393,
          "problem_name": "Time Warp",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1296,
          "problem_letter": "I",
          "problem_id": 10394,
          "problem_name": "Watch, Man!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1296,
          "problem_letter": "PA",
          "problem_id": 10383,
          "problem_name": "The Cost of Moving",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1296,
          "problem_letter": "PB",
          "problem_id": 10384,
          "problem_name": "팬그램",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1296,
          "problem_letter": "PC",
          "problem_id": 10385,
          "problem_name": "This Too Shall Pass",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1297,
      "contest_name": "Latin America Regional Contests 2014",
      "contest_full_name": "Latin America Regional Contests 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 1297,
          "problem_letter": "A",
          "problem_id": 10395,
          "problem_name": "Automated Checking Machine",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "B",
          "problem_id": 10396,
          "problem_name": "Black and white stones",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "C",
          "problem_id": 10397,
          "problem_name": "Counting substhreengs",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "dynamic programming",
            "string",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "dp",
            "string",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "D",
          "problem_id": 10398,
          "problem_name": "Dividing the names",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "string",
            "tree",
            "dynamic programming on trees",
            "trie"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "string",
            "trees",
            "dp_tree",
            "trie"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "E",
          "problem_id": 10399,
          "problem_name": "Even distribution",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "F",
          "problem_id": 10400,
          "problem_name": "Fence the vegetables",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1297,
          "problem_letter": "G",
          "problem_id": 10401,
          "problem_name": "Galaxy collision",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "depth-first search",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "dfs",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "H",
          "problem_id": 10402,
          "problem_name": "Help cupid",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "I",
          "problem_id": 10403,
          "problem_name": "Intrepid climber",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "J",
          "problem_id": 10404,
          "problem_name": "Journey through the kingdom",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1297,
          "problem_letter": "K",
          "problem_id": 10405,
          "problem_name": "Knights of the Round Table",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "combinatorics",
            "mathematics",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "combinatorics",
            "math",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "PA",
          "problem_id": 10406,
          "problem_name": "The fellowship of the ring",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "PB",
          "problem_id": 10407,
          "problem_name": "2 타워",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1297,
          "problem_letter": "PC",
          "problem_id": 10408,
          "problem_name": "The return of the King",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1298,
      "contest_name": "2014 Rocky Mountain Regional Contest",
      "contest_full_name": "2014 Rocky Mountain Regional Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1298,
          "problem_letter": "A",
          "problem_id": 10409,
          "problem_name": "서버",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "B",
          "problem_id": 10410,
          "problem_name": "Eligibility",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "C",
          "problem_id": 10411,
          "problem_name": "Plane Ticket Pricing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "D",
          "problem_id": 10412,
          "problem_name": "Facility Locations",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "ad-hoc",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "ad_hoc",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "E",
          "problem_id": 10413,
          "problem_name": "반복되는 부분 문자열",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "F",
          "problem_id": 10414,
          "problem_name": "Landline Telephone Network",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "G",
          "problem_id": 10415,
          "problem_name": "Aquarium Tank",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "binary search",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "H",
          "problem_id": 10416,
          "problem_name": "Restaurant Ratings",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "I",
          "problem_id": 10417,
          "problem_name": "Locked Treasure",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "J",
          "problem_id": 10418,
          "problem_name": "Yet Satisfiability Again!",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1298,
          "problem_letter": "K",
          "problem_id": 10386,
          "problem_name": "\\(\\text{Con}+\\cfrac{\\text{tin}}{\\text{ued}+\\cfrac{\\text{Frac}}{\\text{tions}}}\\)",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1301,
      "contest_name": "2014 Greater New York Programming Contest",
      "contest_full_name": "2014 Greater New York Programming Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1301,
          "problem_letter": "A",
          "problem_id": 10431,
          "problem_name": "줄세우기",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "B",
          "problem_id": 10432,
          "problem_name": "데이터 스트림의 섬",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "C",
          "problem_id": 10433,
          "problem_name": "부동소수점 형식 변환",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "D",
          "problem_id": 10434,
          "problem_name": "행복한 소수",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "simulation",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "simulation",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "E",
          "problem_id": 10435,
          "problem_name": "만칼라",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "F",
          "problem_id": 10436,
          "problem_name": "무한 유리수 트리",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "tree"
          ],
          "tag_keys": [
            "math",
            "trees"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "G",
          "problem_id": 10437,
          "problem_name": "자라나는 직교 나선",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "H",
          "problem_id": 10438,
          "problem_name": "페리 수열의 합",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 1301,
          "problem_letter": "I",
          "problem_id": 10439,
          "problem_name": "여왕님의 테라스",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1302,
      "contest_name": "NCNA 2014",
      "contest_full_name": "NCNA 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1302,
          "problem_letter": "A",
          "problem_id": 10440,
          "problem_name": "The Binary Search Efficiency Doubter",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "B",
          "problem_id": 10441,
          "problem_name": "Preorder Traversals",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "divide and conquer",
            "stack",
            "recursion"
          ],
          "tag_keys": [
            "data_structures",
            "divide_and_conquer",
            "stack",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "C",
          "problem_id": 10442,
          "problem_name": "Rank Order",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "D",
          "problem_id": 10409,
          "problem_name": "서버",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "E",
          "problem_id": 10415,
          "problem_name": "Aquarium Tank",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "binary search",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "F",
          "problem_id": 10416,
          "problem_name": "Restaurant Ratings",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "G",
          "problem_id": 10417,
          "problem_name": "Locked Treasure",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "H",
          "problem_id": 10386,
          "problem_name": "\\(\\text{Con}+\\cfrac{\\text{tin}}{\\text{ued}+\\cfrac{\\text{Frac}}{\\text{tions}}}\\)",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1302,
          "problem_letter": "I",
          "problem_id": 10444,
          "problem_name": "Anagram Pyramids",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1303,
      "contest_name": "Asia Regional - Daejeon 2014",
      "contest_full_name": "Asia Regional - Daejeon 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1303,
          "problem_letter": "A",
          "problem_id": 10446,
          "problem_name": "Algorist Club",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "mathematics",
            "graph theory"
          ],
          "tag_keys": [
            "math",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1303,
          "problem_letter": "B",
          "problem_id": 10447,
          "problem_name": "Deduction",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1303,
          "problem_letter": "C",
          "problem_id": 10448,
          "problem_name": "유레카 이론",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1303,
          "problem_letter": "D",
          "problem_id": 10449,
          "problem_name": "Exploration",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1303,
          "problem_letter": "E",
          "problem_id": 10450,
          "problem_name": "Marbles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1303,
          "problem_letter": "F",
          "problem_id": 10451,
          "problem_name": "순열 사이클",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "graph theory",
            "graph traversal",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1303,
          "problem_letter": "G",
          "problem_id": 10452,
          "problem_name": "Road Repair",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1303,
          "problem_letter": "H",
          "problem_id": 10453,
          "problem_name": "문자열 변환",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1303,
          "problem_letter": "I",
          "problem_id": 10454,
          "problem_name": "세 네모",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "binary search",
            "backtracking",
            "parametric search"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "backtracking",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1303,
          "problem_letter": "J",
          "problem_id": 10455,
          "problem_name": "Torus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1303,
          "problem_letter": "K",
          "problem_id": 10456,
          "problem_name": "Travel Card",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1303,
          "problem_letter": "L",
          "problem_id": 10457,
          "problem_name": "Two Yachts",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1307,
      "contest_name": "ACM-ICPC North America Qualifier 2014",
      "contest_full_name": "ACM-ICPC North America Qualifier 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1307,
          "problem_letter": "A",
          "problem_id": 10469,
          "problem_name": "사이 나쁜 여왕들",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "B",
          "problem_id": 10470,
          "problem_name": "빨강 검정 징검다리",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bitmask",
            "game theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs",
            "bitmask",
            "game_theory",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "C",
          "problem_id": 10471,
          "problem_name": "공간을 만들어 봅시다",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "D",
          "problem_id": 10472,
          "problem_name": "십자뒤집기",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search",
            "bitmask"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "E",
          "problem_id": 10473,
          "problem_name": "인간 대포",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "F",
          "problem_id": 10474,
          "problem_name": "분수좋아해?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "G",
          "problem_id": 10475,
          "problem_name": "모기 넌 내꺼야",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "H",
          "problem_id": 10476,
          "problem_name": "좁은 미술전시관",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "I",
          "problem_id": 10477,
          "problem_name": "경운기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "J",
          "problem_id": 10478,
          "problem_name": "단위",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1307,
          "problem_letter": "K",
          "problem_id": 10479,
          "problem_name": "따르릉 따르릉",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "physics"
          ],
          "tag_keys": [
            "geometry",
            "physics"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1308,
      "contest_name": "ACM-ICPC North America Qualifier 2013",
      "contest_full_name": "ACM-ICPC North America Qualifier 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1308,
          "problem_letter": "A",
          "problem_id": 10480,
          "problem_name": "Oddities",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "B",
          "problem_id": 10481,
          "problem_name": "Ternarian Weights",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "C",
          "problem_id": 10482,
          "problem_name": "Goldbach’s Conjecture",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "D",
          "problem_id": 10483,
          "problem_name": "Shotcube",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "breadth-first search",
            "bitmask",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bitmask",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "E",
          "problem_id": 10484,
          "problem_name": "Erratic Ants",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "F",
          "problem_id": 10485,
          "problem_name": "Plotting Polynomials",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "G",
          "problem_id": 10486,
          "problem_name": "Trapezoid Walkway",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "H",
          "problem_id": 10487,
          "problem_name": "4 thought",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "I",
          "problem_id": 10488,
          "problem_name": "Biggest Slice",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "J",
          "problem_id": 10489,
          "problem_name": "Even Up Solitaire",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1308,
          "problem_letter": "K",
          "problem_id": 10490,
          "problem_name": "Island Buses",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1309,
      "contest_name": "ACM-ICPC North America Qualifier 2012",
      "contest_full_name": "ACM-ICPC North America Qualifier 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1309,
          "problem_letter": "A",
          "problem_id": 10491,
          "problem_name": "Quite a problem",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "B",
          "problem_id": 10492,
          "problem_name": "Multi-touch gesture classification",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "graph theory",
            "graph traversal",
            "geometry",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "graphs",
            "graph_traversal",
            "geometry",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "C",
          "problem_id": 10493,
          "problem_name": "Stacking Curvy Blocks",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "calculus",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "D",
          "problem_id": 10494,
          "problem_name": "Unicycle counting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "E",
          "problem_id": 10495,
          "problem_name": "Choosing Numbers",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "sorting",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "sorting",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "F",
          "problem_id": 10496,
          "problem_name": "Loopy transit",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "G",
          "problem_id": 10497,
          "problem_name": "Hitting the Targets",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "H",
          "problem_id": 10498,
          "problem_name": "Texas Summers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "I",
          "problem_id": 10499,
          "problem_name": "Out of context",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1309,
          "problem_letter": "J",
          "problem_id": 10500,
          "problem_name": "Maze movement",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "graph theory",
            "number theory",
            "maximum flow",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "number_theory",
            "flow",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1309,
          "problem_letter": "K",
          "problem_id": 10501,
          "problem_name": "Ragged Right",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1310,
      "contest_name": "CERC 2014",
      "contest_full_name": "CERC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1310,
          "problem_letter": "A",
          "problem_id": 10502,
          "problem_name": "Parades",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "tree",
            "bitmask",
            "dynamic programming on trees",
            "dynamic programming using bitfield",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "bitmask",
            "dp_tree",
            "dp_bitfield",
            "lca"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "B",
          "problem_id": 10503,
          "problem_name": "Mountainous landscape",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "convex hull",
            "data structures",
            "geometry",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "convex_hull",
            "data_structures",
            "geometry",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "C",
          "problem_id": 10504,
          "problem_name": "덧셈",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "D",
          "problem_id": 10505,
          "problem_name": "Wheels",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "E",
          "problem_id": 10506,
          "problem_name": "Can’t stop playing",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "F",
          "problem_id": 10507,
          "problem_name": "Vocabulary",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "case work",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "case_work",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "G",
          "problem_id": 10508,
          "problem_name": "Virus synthesis",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "dynamic programming",
            "dynamic programming on trees",
            "palindrome tree",
            "sparse table",
            "string",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "dp_tree",
            "palindrome_tree",
            "sparse_table",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "palindrome_tree",
              "name": "palindrome tree",
              "boj_tag_id": 53
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "H",
          "problem_id": 10509,
          "problem_name": "Good morning!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "I",
          "problem_id": 10510,
          "problem_name": "Bricks",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "J",
          "problem_id": 10511,
          "problem_name": "Pork barrel",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "minimum spanning tree",
            "persistent segment tree",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "mst",
            "pst",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "K",
          "problem_id": 10512,
          "problem_name": "The Imp",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1310,
          "problem_letter": "L",
          "problem_id": 10513,
          "problem_name": "외계 침략자",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1311,
      "contest_name": "Asia Lahore Regional Online Contest 2014",
      "contest_full_name": "Asia Lahore Regional Online Contest 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia West Continent > Pakistan",
      "problem_count": 4,
      "problems": [
        {
          "contest_id": 1311,
          "problem_letter": "1",
          "problem_id": 10514,
          "problem_name": "A Walk Together",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1311,
          "problem_letter": "2",
          "problem_id": 10515,
          "problem_name": "Refueling Stops",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1311,
          "problem_letter": "3",
          "problem_id": 10516,
          "problem_name": "Check Amount Validation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1311,
          "problem_letter": "4",
          "problem_id": 10517,
          "problem_name": "Radar Coverage",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "geometry",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1312,
      "contest_name": "NWERC 2014",
      "contest_full_name": "NWERC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1312,
          "problem_letter": "A",
          "problem_id": 10518,
          "problem_name": "Around the Track",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "convex hull",
            "floyd–warshall",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "convex_hull",
            "floyd_warshall",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "B",
          "problem_id": 10519,
          "problem_name": "Biking Duck",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "implementation",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "C",
          "problem_id": 10520,
          "problem_name": "Cent Savings",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "D",
          "problem_id": 10521,
          "problem_name": "Digi Comp II",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "E",
          "problem_id": 10522,
          "problem_name": "Euclidean TSP",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ternary search"
          ],
          "tag_keys": [
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "F",
          "problem_id": 10523,
          "problem_name": "직선 찾기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "randomization"
          ],
          "tag_keys": [
            "geometry",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "G",
          "problem_id": 10524,
          "problem_name": "Gathering",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "calculus",
            "implementation",
            "mathematics",
            "ternary search"
          ],
          "tag_keys": [
            "calculus",
            "implementation",
            "math",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "H",
          "problem_id": 10525,
          "problem_name": "Hyacinth",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "I",
          "problem_id": 10526,
          "problem_name": "왜판원 순회",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "bruteforcing",
            "bitmask",
            "meet in the middle",
            "bidirectional search"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "bitmask",
            "mitm",
            "bidirectional_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "bidirectional_search",
              "name": "bidirectional search",
              "boj_tag_id": 129
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "J",
          "problem_id": 10527,
          "problem_name": "Judging Troubles",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1312,
          "problem_letter": "K",
          "problem_id": 10528,
          "problem_name": "Knapsack Collection",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1313,
      "contest_name": "SWERC 2014",
      "contest_full_name": "SWERC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1313,
          "problem_letter": "A",
          "problem_id": 10529,
          "problem_name": "GREAT + SWERC = PORTO",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "B",
          "problem_id": 10530,
          "problem_name": "Flowery Trails",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "C",
          "problem_id": 10531,
          "problem_name": "Golf Bot",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "D",
          "problem_id": 10532,
          "problem_name": "Book Club",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "E",
          "problem_id": 10533,
          "problem_name": "Ricochet Robots",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "shortest path",
            "set / map by hashing",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "bfs",
            "shortest_path",
            "hash_set",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "F",
          "problem_id": 10534,
          "problem_name": "락페스티벌",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "sweeping",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "sweeping",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "G",
          "problem_id": 10535,
          "problem_name": "Playing with Geometry",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1313,
          "problem_letter": "H",
          "problem_id": 10536,
          "problem_name": "Money Transfers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1313,
          "problem_letter": "I",
          "problem_id": 10537,
          "problem_name": "The Safe Secret",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "dynamic programming"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1313,
          "problem_letter": "J",
          "problem_id": 10538,
          "problem_name": "빅 픽쳐",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "string",
            "tree",
            "hashing",
            "trie",
            "knuth–morris–pratt",
            "aho-corasick"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "hashing",
            "trie",
            "kmp",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1317,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2014 Pacific Northwest Region Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1317,
          "problem_letter": "A",
          "problem_id": 10557,
          "problem_name": "Runes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "B",
          "problem_id": 10558,
          "problem_name": "Alchemy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1317,
          "problem_letter": "C",
          "problem_id": 10559,
          "problem_name": "Containment",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "D",
          "problem_id": 10560,
          "problem_name": "Function",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1317,
          "problem_letter": "E",
          "problem_id": 10561,
          "problem_name": "언덕수",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "F",
          "problem_id": 10562,
          "problem_name": "나이트",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "exponentiation by squaring",
            "berlekamp–massey"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "dp_bitfield",
            "exponentiation_by_squaring",
            "berlekamp_massey"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "berlekamp_massey",
              "name": "berlekamp–massey",
              "boj_tag_id": 110
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "G",
          "problem_id": 10563,
          "problem_name": "정수 게임",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "H",
          "problem_id": 10564,
          "problem_name": "팔굽혀펴기",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "I",
          "problem_id": 10565,
          "problem_name": "Salary Inequity",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "segment tree with lazy propagation",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "lazyprop",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "J",
          "problem_id": 10566,
          "problem_name": "도장 도장",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "convex hull",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "K",
          "problem_id": 10567,
          "problem_name": "Towers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "backtracking",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1317,
          "problem_letter": "L",
          "problem_id": 10568,
          "problem_name": "Wormholes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1318,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2014 Pacific Northwest Region Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1318,
          "problem_letter": "M",
          "problem_id": 10569,
          "problem_name": "다면체",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic",
            "euler characteristic (χ=v-e+f)"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic",
            "euler_characteristic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "N",
          "problem_id": 10570,
          "problem_name": "Favorite Number",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "O",
          "problem_id": 10571,
          "problem_name": "다이아몬드",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "P",
          "problem_id": 10572,
          "problem_name": "Gold Leaf",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "Q",
          "problem_id": 10563,
          "problem_name": "정수 게임",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "R",
          "problem_id": 10573,
          "problem_name": "증가하는 수",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "S",
          "problem_id": 10574,
          "problem_name": "Ranked Choice",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "T",
          "problem_id": 10557,
          "problem_name": "Runes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "U",
          "problem_id": 10575,
          "problem_name": "Top 25",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "V",
          "problem_id": 10567,
          "problem_name": "Towers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "backtracking",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "W",
          "problem_id": 10568,
          "problem_name": "Wormholes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1318,
          "problem_letter": "X",
          "problem_id": 10576,
          "problem_name": "Wrench",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1319,
      "contest_name": "2014 ACM-ICPC Asia Bangkok Regional Programming Contest",
      "contest_full_name": "2014 ACM-ICPC Asia Bangkok Regional Programming Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1319,
          "problem_letter": "A",
          "problem_id": 10577,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "B",
          "problem_id": 10578,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "C",
          "problem_id": 10579,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "D",
          "problem_id": 10580,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "E",
          "problem_id": 10581,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "F",
          "problem_id": 10582,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "G",
          "problem_id": 10583,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "H",
          "problem_id": 10584,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "I",
          "problem_id": 10585,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "J",
          "problem_id": 10586,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "K",
          "problem_id": 10587,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1319,
          "problem_letter": "L",
          "problem_id": 10588,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1320,
      "contest_name": "NEERC 2014",
      "contest_full_name": "NEERC 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1320,
          "problem_letter": "A",
          "problem_id": 10589,
          "problem_name": "마법의 체스판",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "B",
          "problem_id": 10590,
          "problem_name": "Burrito King",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "C",
          "problem_id": 10591,
          "problem_name": "Cactus Generator",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "cactus",
            "data structures",
            "disjoint set",
            "eulerian path / circuit",
            "graph theory",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "cactus",
            "data_structures",
            "disjoint_set",
            "eulerian_path",
            "graphs",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "D",
          "problem_id": 10592,
          "problem_name": "Damage Assessment",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1320,
          "problem_letter": "E",
          "problem_id": 10593,
          "problem_name": "Epic Win!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "F",
          "problem_id": 10594,
          "problem_name": "Filter",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "G",
          "problem_id": 18931,
          "problem_name": "Gomoku",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1320,
          "problem_letter": "H",
          "problem_id": 10595,
          "problem_name": "Hidden Maze",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1320,
          "problem_letter": "I",
          "problem_id": 10596,
          "problem_name": "Improvements",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "binary search",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "binary_search",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "J",
          "problem_id": 10597,
          "problem_name": "순열장난",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1320,
          "problem_letter": "K",
          "problem_id": 10598,
          "problem_name": "Knockout Racing",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1321,
      "contest_name": "Tehran Site 2014",
      "contest_full_name": "Tehran Site 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1321,
          "problem_letter": "A",
          "problem_id": 10599,
          "problem_name": "페르시아의 왕들",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1321,
          "problem_letter": "B",
          "problem_id": 10600,
          "problem_name": "Web Colors",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1321,
          "problem_letter": "C",
          "problem_id": 10601,
          "problem_name": "Ideal Scoreboard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1321,
          "problem_letter": "D",
          "problem_id": 10602,
          "problem_name": "Elevators",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1321,
          "problem_letter": "E",
          "problem_id": 10603,
          "problem_name": "Antennas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1321,
          "problem_letter": "F",
          "problem_id": 10604,
          "problem_name": "Working Hours",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1321,
          "problem_letter": "G",
          "problem_id": 10605,
          "problem_name": "드래곤 죽이기",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1321,
          "problem_letter": "H",
          "problem_id": 10606,
          "problem_name": "Toll",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1321,
          "problem_letter": "I",
          "problem_id": 10607,
          "problem_name": "Robot Race",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1321,
          "problem_letter": "J",
          "problem_id": 10608,
          "problem_name": "Bus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1321,
          "problem_letter": "K",
          "problem_id": 10609,
          "problem_name": "Line Fiting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1323,
      "contest_name": "Asia Lahore Regional 2014",
      "contest_full_name": "Asia Lahore Regional 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia West Continent > Pakistan",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 1323,
          "problem_letter": "1",
          "problem_id": 10616,
          "problem_name": "Bulletproof Car Testing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1323,
          "problem_letter": "2",
          "problem_id": 10617,
          "problem_name": "Magnetos",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 1323,
          "problem_letter": "3",
          "problem_id": 10618,
          "problem_name": "Ambiguous Encodings",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "dynamic programming",
            "mathematics",
            "string"
          ],
          "tag_keys": [
            "dp",
            "math",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1323,
          "problem_letter": "4",
          "problem_id": 10619,
          "problem_name": "The One Dollar Gambler",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 1323,
          "problem_letter": "5",
          "problem_id": 10620,
          "problem_name": "Urdu orthography verification",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1323,
          "problem_letter": "6",
          "problem_id": 10621,
          "problem_name": "Web Service Dependencies",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1323,
          "problem_letter": "7",
          "problem_id": 10622,
          "problem_name": "A Population of Rabbits",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1331,
      "contest_name": "TCPC 2013",
      "contest_full_name": "TCPC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest > Tunisian Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1331,
          "problem_letter": "A",
          "problem_id": 10689,
          "problem_name": "Hamza",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "B",
          "problem_id": 10690,
          "problem_name": "Compo",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "C",
          "problem_id": 10691,
          "problem_name": "Fegla",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "D",
          "problem_id": 10692,
          "problem_name": "Hamzawy",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "E",
          "problem_id": 10693,
          "problem_name": "Abdelrahman",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "F",
          "problem_id": 10694,
          "problem_name": "Fouad",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "G",
          "problem_id": 10695,
          "problem_name": "Dalia",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "H",
          "problem_id": 10696,
          "problem_name": "Prof. Ossama",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "I",
          "problem_id": 10697,
          "problem_name": "Nicole",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1331,
          "problem_letter": "J",
          "problem_id": 10698,
          "problem_name": "Ahmed Aly",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1347,
      "contest_name": "ACM-ICPC World Finals 2015",
      "contest_full_name": "ACM-ICPC World Finals 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > World Finals",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1347,
          "problem_letter": "A",
          "problem_id": 10784,
          "problem_name": "Amalgamated Artichokes",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "B",
          "problem_id": 10785,
          "problem_name": "Asteroids",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "implementation",
            "geometry",
            "parametric search",
            "convex hull",
            "line segment intersection check",
            "ternary search",
            "point in convex polygon check",
            "half plane intersection"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "parametric_search",
            "convex_hull",
            "line_intersection",
            "ternary_search",
            "point_in_convex_polygon",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "C",
          "problem_id": 10786,
          "problem_name": "Catering",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "D",
          "problem_id": 10787,
          "problem_name": "Cutting Cheese",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "calculus",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "calculus",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "E",
          "problem_id": 10788,
          "problem_name": "Evolution in Parallel",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "greedy",
            "string",
            "case work"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "F",
          "problem_id": 10789,
          "problem_name": "가상 키보드 입력",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "G",
          "problem_id": 10790,
          "problem_name": "달리기",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "H",
          "problem_id": 10791,
          "problem_name": "Qanat",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "I",
          "problem_id": 10792,
          "problem_name": "Ship Traffic",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "J",
          "problem_id": 10793,
          "problem_name": "Tile Cutting",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "K",
          "problem_id": 10794,
          "problem_name": "Tours",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "depth-first search",
            "articulation points and bridges"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "dfs",
            "articulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "L",
          "problem_id": 10983,
          "problem_name": "히기카드",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1347,
          "problem_letter": "M",
          "problem_id": 10796,
          "problem_name": "Window Manager",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1355,
      "contest_name": "GCPC 2015",
      "contest_full_name": "GCPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1355,
          "problem_letter": "A",
          "problem_id": 10849,
          "problem_name": "A Journey to Greece",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "graph theory",
            "bitmask",
            "shortest path",
            "dijkstra's",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "bitmask",
            "shortest_path",
            "dijkstra",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "B",
          "problem_id": 10850,
          "problem_name": "Bounty Hunter II",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "C",
          "problem_id": 10851,
          "problem_name": "Cake",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "arbitrary precision / big integers",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arbitrary_precision",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "D",
          "problem_id": 10852,
          "problem_name": "Carpets",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "bruteforcing",
            "backtracking",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "backtracking",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "E",
          "problem_id": 10853,
          "problem_name": "Change of Scenery",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "F",
          "problem_id": 10854,
          "problem_name": "Divisions",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "prime factorization",
            "pollard rho",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "prime_factorization",
            "pollard_rho",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "G",
          "problem_id": 10855,
          "problem_name": "Extreme Sort",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "H",
          "problem_id": 10856,
          "problem_name": "Legacy Code",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "I",
          "problem_id": 10857,
          "problem_name": "Milling machines",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "J",
          "problem_id": 10858,
          "problem_name": "Souvenirs",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1355,
          "problem_letter": "K",
          "problem_id": 10859,
          "problem_name": "뒤집어진 소수",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1364,
      "contest_name": "TOPC 2015",
      "contest_full_name": "TOPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1364,
          "problem_letter": "A",
          "problem_id": 11006,
          "problem_name": "남욱이의 닭장",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "B",
          "problem_id": 11007,
          "problem_name": "Inverse Move-to-Front Transform",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "C",
          "problem_id": 11008,
          "problem_name": "복붙의 달인",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "D",
          "problem_id": 11009,
          "problem_name": "Drinks",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "E",
          "problem_id": 11010,
          "problem_name": "Explosive Materials",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "knapsack",
            "bipartite graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "knapsack",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "F",
          "problem_id": 11011,
          "problem_name": "Forged Answers",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "greedy"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "G",
          "problem_id": 11012,
          "problem_name": "Egg",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "offline queries",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "offline_queries",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 1364,
          "problem_letter": "H",
          "problem_id": 11013,
          "problem_name": "The Missing Permutation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1367,
      "contest_name": "2015 Japan Domestic Contest",
      "contest_full_name": "2015 Japan Domestic Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1367,
          "problem_letter": "A",
          "problem_id": 11038,
          "problem_name": "Entrance Examination",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "B",
          "problem_id": 11039,
          "problem_name": "Short Phrase",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "C",
          "problem_id": 11040,
          "problem_name": "ICPC Calculator",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "D",
          "problem_id": 11041,
          "problem_name": "500-yen Saving",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "E",
          "problem_id": 11042,
          "problem_name": "Deadlock Detection",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "bitmask",
            "depth-first search",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bitmask",
            "dfs",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "F",
          "problem_id": 11043,
          "problem_name": "Bridge Construction Planning",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "binary search",
            "minimum spanning tree",
            "aliens trick"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "mst",
            "alien"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "alien",
              "name": "aliens trick",
              "boj_tag_id": 134
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "G",
          "problem_id": 11044,
          "problem_name": "Complex Paper Folding",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "bruteforcing",
            "boolean operations on geometric objects",
            "geometry",
            "half plane intersection",
            "line segment intersection check",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometric_boolean_operations",
            "geometry",
            "half_plane_intersection",
            "line_intersection",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 1367,
          "problem_letter": "H",
          "problem_id": 11045,
          "problem_name": "Development of Small Flying Robots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1368,
      "contest_name": "Daejeon Nationalwide Internet Competition 2015",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1368,
          "problem_letter": "A",
          "problem_id": 11061,
          "problem_name": "Awkward Group",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "B",
          "problem_id": 11062,
          "problem_name": "카드 게임",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "B (수정)",
          "problem_id": 28039,
          "problem_name": "카드 게임 2",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "greedy",
            "game theory"
          ],
          "tag_keys": [
            "greedy",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "C",
          "problem_id": 11063,
          "problem_name": "Consecutive Ordering",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "D",
          "problem_id": 11064,
          "problem_name": "Diameter",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "E",
          "problem_id": 11065,
          "problem_name": "Grid Aliens",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "F",
          "problem_id": 11066,
          "problem_name": "파일 합치기",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "G",
          "problem_id": 11067,
          "problem_name": "모노톤길",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "H",
          "problem_id": 11068,
          "problem_name": "회문인 수",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "I",
          "problem_id": 11069,
          "problem_name": "Particle",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "chinese remainder theorem",
            "extended euclidean algorithm",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "crt",
            "extended_euclidean",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "J",
          "problem_id": 11070,
          "problem_name": "피타고라스 기댓값",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1368,
          "problem_letter": "K",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1369,
      "contest_name": "ACM South Pacific Western Division 2015",
      "contest_full_name": "ACM South Pacific Western Division 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > ACM South Pacific Western Division",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1369,
          "problem_letter": "A",
          "problem_id": 11071,
          "problem_name": "Shelob’s Lair",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "duality",
            "maximum flow",
            "geometry",
            "graph theory",
            "graph traversal",
            "line segment intersection check",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "duality",
            "flow",
            "geometry",
            "graphs",
            "graph_traversal",
            "line_intersection",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "B",
          "problem_id": 11072,
          "problem_name": "Football",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "dp",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "C",
          "problem_id": 11073,
          "problem_name": "Folding Code",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1369,
          "problem_letter": "D",
          "problem_id": 11074,
          "problem_name": "Painting Floors",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "constructive",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "E",
          "problem_id": 11075,
          "problem_name": "Who Do You Think You Are?",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "F",
          "problem_id": 11076,
          "problem_name": "Talking Money",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "case work",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "G",
          "problem_id": 11077,
          "problem_name": "Selling Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1369,
          "problem_letter": "H",
          "problem_id": 11078,
          "problem_name": "Banking",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "I",
          "problem_id": 11079,
          "problem_name": "Diana and the Golden Apples",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "J",
          "problem_id": 11080,
          "problem_name": "Almost an Anagram",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1369,
          "problem_letter": "K",
          "problem_id": 11081,
          "problem_name": "Rings of Saturn",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1370,
      "contest_name": "ACM South Pacific Eastern Division 2015",
      "contest_full_name": "ACM South Pacific Eastern Division 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > ACM South Pacific Eastern Division",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1370,
          "problem_letter": "A",
          "problem_id": 11072,
          "problem_name": "Football",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "dp",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "B",
          "problem_id": 11076,
          "problem_name": "Talking Money",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "case work",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "C",
          "problem_id": 11082,
          "problem_name": "소수를 분수로",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "parsing",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "parsing",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "D",
          "problem_id": 11083,
          "problem_name": "Resistance Is (Not) Futile!",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1370,
          "problem_letter": "E",
          "problem_id": 11084,
          "problem_name": "나이트의 염탐",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "F",
          "problem_id": 11080,
          "problem_name": "Almost an Anagram",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "G",
          "problem_id": 11075,
          "problem_name": "Who Do You Think You Are?",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "H",
          "problem_id": 11078,
          "problem_name": "Banking",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "I",
          "problem_id": 11071,
          "problem_name": "Shelob’s Lair",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "duality",
            "maximum flow",
            "geometry",
            "graph theory",
            "graph traversal",
            "line segment intersection check",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "duality",
            "flow",
            "geometry",
            "graphs",
            "graph_traversal",
            "line_intersection",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "J",
          "problem_id": 11074,
          "problem_name": "Painting Floors",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "constructive",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1370,
          "problem_letter": "K",
          "problem_id": 11077,
          "problem_name": "Selling Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1371,
      "contest_name": "ACM South Pacific Central Division 2015",
      "contest_full_name": "ACM South Pacific Central Division 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > ACM South Pacific Central Division",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1371,
          "problem_letter": "A",
          "problem_id": 11077,
          "problem_name": "Selling Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1371,
          "problem_letter": "B",
          "problem_id": 11080,
          "problem_name": "Almost an Anagram",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "C",
          "problem_id": 11075,
          "problem_name": "Who Do You Think You Are?",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "D",
          "problem_id": 11078,
          "problem_name": "Banking",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "E",
          "problem_id": 11083,
          "problem_name": "Resistance Is (Not) Futile!",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1371,
          "problem_letter": "F",
          "problem_id": 11085,
          "problem_name": "군사 이동",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "G",
          "problem_id": 11082,
          "problem_name": "소수를 분수로",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "parsing",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "parsing",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "H",
          "problem_id": 11071,
          "problem_name": "Shelob’s Lair",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "duality",
            "maximum flow",
            "geometry",
            "graph theory",
            "graph traversal",
            "line segment intersection check",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "duality",
            "flow",
            "geometry",
            "graphs",
            "graph_traversal",
            "line_intersection",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "I",
          "problem_id": 11079,
          "problem_name": "Diana and the Golden Apples",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "J",
          "problem_id": 11074,
          "problem_name": "Painting Floors",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "constructive",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1371,
          "problem_letter": "K",
          "problem_id": 11073,
          "problem_name": "Folding Code",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1372,
      "contest_name": "ACM-ICPC North America Qualifier 2015",
      "contest_full_name": "ACM-ICPC North America Qualifier 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1372,
          "problem_letter": "A",
          "problem_id": 11086,
          "problem_name": "All about that base",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "B",
          "problem_id": 11087,
          "problem_name": "Bobby’s Bet",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "C",
          "problem_id": 11088,
          "problem_name": "Cantina of Babel",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "D",
          "problem_id": 11089,
          "problem_name": "Circuit Counting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack",
            "meet in the middle"
          ],
          "tag_keys": [
            "dp",
            "knapsack",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "E",
          "problem_id": 11090,
          "problem_name": "Cutting Brownies",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "game theory",
            "finding invariants"
          ],
          "tag_keys": [
            "greedy",
            "game_theory",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "F",
          "problem_id": 11091,
          "problem_name": "알파벳 전부 쓰기",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "G",
          "problem_id": 11092,
          "problem_name": "Safe Passage",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "bitmask",
            "shortest path",
            "dijkstra's",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "bitmask",
            "shortest_path",
            "dijkstra",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "H",
          "problem_id": 11093,
          "problem_name": "Secret Message",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "I",
          "problem_id": 11094,
          "problem_name": "꿍 가라사대",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "J",
          "problem_id": 11095,
          "problem_name": "Torn To Pieces",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "breadth-first search",
            "data structures",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "dfs",
            "graphs",
            "graph_traversal",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1372,
          "problem_letter": "K",
          "problem_id": 11096,
          "problem_name": "UnDetected",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "geometry",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "geometry",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1387,
      "contest_name": "NAIPC 2015",
      "contest_full_name": "NAIPC 2015",
      "contest_year": 2015,
      "contest_path": "North American Invitational Programming Contest | University > NAIPC",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1387,
          "problem_letter": "A",
          "problem_id": 11221,
          "problem_name": "Area of Effect",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1387,
          "problem_letter": "B",
          "problem_id": 11222,
          "problem_name": "Canyon Mapping",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1387,
          "problem_letter": "C",
          "problem_id": 11223,
          "problem_name": "Magic Checkerboard",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1387,
          "problem_letter": "D",
          "problem_id": 11224,
          "problem_name": "Extensive Or",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "digit dp",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "dp_digit",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1387,
          "problem_letter": "E",
          "problem_id": 11225,
          "problem_name": "Primal Partitions",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1387,
          "problem_letter": "F",
          "problem_id": 11226,
          "problem_name": "Sand Art",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1387,
          "problem_letter": "G",
          "problem_id": 11227,
          "problem_name": "String Stretching",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1387,
          "problem_letter": "H",
          "problem_id": 11228,
          "problem_name": "Vending Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1387,
          "problem_letter": "I",
          "problem_id": 11229,
          "problem_name": "Rainbow Zamboni",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1387,
          "problem_letter": "J",
          "problem_id": 11230,
          "problem_name": "Zig Zag Nametag",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "string",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1388,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2014 Southeast USA Regional Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1388,
          "problem_letter": "A",
          "problem_id": 10558,
          "problem_name": "Alchemy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1388,
          "problem_letter": "B",
          "problem_id": 11233,
          "problem_name": "Stained Carpet",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "C",
          "problem_id": 10559,
          "problem_name": "Containment",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "D",
          "problem_id": 10572,
          "problem_name": "Gold Leaf",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "E",
          "problem_id": 10561,
          "problem_name": "언덕수",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "F",
          "problem_id": 10562,
          "problem_name": "나이트",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "exponentiation by squaring",
            "berlekamp–massey"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "dp_bitfield",
            "exponentiation_by_squaring",
            "berlekamp_massey"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "berlekamp_massey",
              "name": "berlekamp–massey",
              "boj_tag_id": 110
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "G",
          "problem_id": 11231,
          "problem_name": "Word Ladder",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "H",
          "problem_id": 11232,
          "problem_name": "Shuffles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1388,
          "problem_letter": "I",
          "problem_id": 10566,
          "problem_name": "도장 도장",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "convex hull",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1389,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2014 Southeast USA Regional Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1389,
          "problem_letter": "A",
          "problem_id": 11233,
          "problem_name": "Stained Carpet",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "B",
          "problem_id": 10572,
          "problem_name": "Gold Leaf",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "C",
          "problem_id": 10561,
          "problem_name": "언덕수",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "D",
          "problem_id": 9781,
          "problem_name": "Knight Moves",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "E",
          "problem_id": 11234,
          "problem_name": "Marble Madness",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1389,
          "problem_letter": "F",
          "problem_id": 11235,
          "problem_name": "Polling",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "G",
          "problem_id": 10557,
          "problem_name": "Runes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "H",
          "problem_id": 11232,
          "problem_name": "Shuffles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1389,
          "problem_letter": "I",
          "problem_id": 10575,
          "problem_name": "Top 25",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1390,
      "contest_name": "Thailand First Round Online 2014",
      "contest_full_name": "Thailand First Round Online 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand First Round Online",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1390,
          "problem_letter": "A",
          "problem_id": 11236,
          "problem_name": "Carrot",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "B",
          "problem_id": 11237,
          "problem_name": "Exam",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1390,
          "problem_letter": "C",
          "problem_id": 11238,
          "problem_name": "Fibo",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "D",
          "problem_id": 11239,
          "problem_name": "FindWords",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "hashing",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "hashing",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "E",
          "problem_id": 11240,
          "problem_name": "Flower",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "F",
          "problem_id": 11241,
          "problem_name": "Hive",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "G",
          "problem_id": 11242,
          "problem_name": "Lineage",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1390,
          "problem_letter": "H",
          "problem_id": 11243,
          "problem_name": "OPS",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "I",
          "problem_id": 11244,
          "problem_name": "Pink",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "J",
          "problem_id": 11245,
          "problem_name": "Song",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1390,
          "problem_letter": "K",
          "problem_id": 11246,
          "problem_name": "VeryEasy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1391,
      "contest_name": "Thailand Central Group-B Programming Contest 2015",
      "contest_full_name": "Thailand Central Group-B Programming Contest 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Central Group-B Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1391,
          "problem_letter": "A",
          "problem_id": 11247,
          "problem_name": "Atomic Computer",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1391,
          "problem_letter": "B",
          "problem_id": 11248,
          "problem_name": "Bond Tour",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1391,
          "problem_letter": "C",
          "problem_id": 11249,
          "problem_name": "Chasing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1391,
          "problem_letter": "D",
          "problem_id": 11250,
          "problem_name": "Design A Tree",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1391,
          "problem_letter": "E",
          "problem_id": 11251,
          "problem_name": "Romance of The Three Kingdom",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "disjoint set",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "disjoint_set",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1391,
          "problem_letter": "F",
          "problem_id": 11252,
          "problem_name": "Finding something",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1391,
          "problem_letter": "G",
          "problem_id": 11253,
          "problem_name": "Goods Market",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1391,
          "problem_letter": "H",
          "problem_id": 11254,
          "problem_name": "Hydraulic Arm",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1391,
          "problem_letter": "I",
          "problem_id": 11255,
          "problem_name": "ITAI Virus",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "graph theory"
          ],
          "tag_keys": [
            "implementation",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1391,
          "problem_letter": "J",
          "problem_id": 11256,
          "problem_name": "사탕",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1392,
      "contest_name": "Thailand Southern Programming Contest 2015",
      "contest_full_name": "Thailand Southern Programming Contest 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Southern Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1392,
          "problem_letter": "A",
          "problem_id": 11257,
          "problem_name": "IT Passport Examination",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "B",
          "problem_id": 11258,
          "problem_name": "Thai Lottery Checking",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "C",
          "problem_id": 11259,
          "problem_name": "Travel of alphabets",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "data structures",
            "bruteforcing",
            "graph traversal",
            "sorting",
            "set / map",
            "breadth-first search",
            "depth-first search",
            "set / map by hashing",
            "recursion"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "bruteforcing",
            "graph_traversal",
            "sorting",
            "set",
            "bfs",
            "dfs",
            "hash_set",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "D",
          "problem_id": 11260,
          "problem_name": "Cell Counting",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "E",
          "problem_id": 11261,
          "problem_name": "Hunger Games",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "F",
          "problem_id": 11262,
          "problem_name": "Minions’ Master",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "G",
          "problem_id": 11263,
          "problem_name": "PIN Code Possibilities",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1392,
          "problem_letter": "H",
          "problem_id": 11264,
          "problem_name": "Logical Functions: AND-OR",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1393,
      "contest_name": "NCPC 2015",
      "contest_full_name": "NCPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1393,
          "problem_letter": "A",
          "problem_id": 11267,
          "problem_name": "Adjoin the Networks",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "ad-hoc",
            "tree",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "ad_hoc",
            "trees",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "B",
          "problem_id": 11268,
          "problem_name": "Bell Ringing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "C",
          "problem_id": 11269,
          "problem_name": "Cryptographer’s Conundrum",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "D",
          "problem_id": 11270,
          "problem_name": "Disastrous Downtime",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "E",
          "problem_id": 11271,
          "problem_name": "Entertainment Box",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "F",
          "problem_id": 11272,
          "problem_name": "Floppy Music",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "G",
          "problem_id": 11273,
          "problem_name": "Goblin Garden Guards",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "prefix sum"
          ],
          "tag_keys": [
            "data_structures",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1393,
          "problem_letter": "H",
          "problem_id": 11274,
          "problem_name": "Hero Power",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1393,
          "problem_letter": "I",
          "problem_id": 11275,
          "problem_name": "iCar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1393,
          "problem_letter": "J",
          "problem_id": 11276,
          "problem_name": "Just a Quiz",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1395,
      "contest_name": "NZPC 2015",
      "contest_full_name": "NZPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 1395,
          "problem_letter": "A",
          "problem_id": 11292,
          "problem_name": "키 큰 사람",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "B",
          "problem_id": 11293,
          "problem_name": "Password",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "C",
          "problem_id": 11294,
          "problem_name": "Numbers",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "D",
          "problem_id": 11295,
          "problem_name": "Exercising",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "E",
          "problem_id": 11296,
          "problem_name": "가격",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "F",
          "problem_id": 11297,
          "problem_name": "Cypher",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "G",
          "problem_id": 11298,
          "problem_name": "Graphs",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "H",
          "problem_id": 11299,
          "problem_name": "Contest",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "I",
          "problem_id": 11300,
          "problem_name": "Black Jack",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "J",
          "problem_id": 11301,
          "problem_name": "Markleft",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1395,
          "problem_letter": "K",
          "problem_id": 11302,
          "problem_name": "Koch",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "linear algebra",
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "linear_algebra",
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "M",
          "problem_id": 11303,
          "problem_name": "Frogs With Styles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1395,
          "problem_letter": "N",
          "problem_id": 11304,
          "problem_name": "SV Filters",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1395,
          "problem_letter": "O",
          "problem_id": 11305,
          "problem_name": "Depacting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1395,
          "problem_letter": "P",
          "problem_id": 11306,
          "problem_name": "Mobile",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1407,
      "contest_name": "SEERC 2015",
      "contest_full_name": "SEERC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1407,
          "problem_letter": "A",
          "problem_id": 11411,
          "problem_name": "Equivalence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1407,
          "problem_letter": "B",
          "problem_id": 11412,
          "problem_name": "Tree of Almost Clean Money",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 1407,
          "problem_letter": "C",
          "problem_id": 11413,
          "problem_name": "Primes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "backtracking",
            "probability theory",
            "primality test",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "backtracking",
            "probability",
            "primality_test",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1407,
          "problem_letter": "D",
          "problem_id": 11414,
          "problem_name": "LCM",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1407,
          "problem_letter": "E",
          "problem_id": 11415,
          "problem_name": "Taxies",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1407,
          "problem_letter": "F",
          "problem_id": 11416,
          "problem_name": "Irrational Roots",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1407,
          "problem_letter": "G",
          "problem_id": 11417,
          "problem_name": "Race",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1407,
          "problem_letter": "H",
          "problem_id": 11418,
          "problem_name": "Railway Tickets",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1407,
          "problem_letter": "I",
          "problem_id": 11419,
          "problem_name": "Olympic Parade",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1407,
          "problem_letter": "J",
          "problem_id": 11420,
          "problem_name": "Word by mouth",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1409,
      "contest_name": "BAPC 2015 Preliminaries",
      "contest_full_name": "BAPC 2015 Preliminaries",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1409,
          "problem_letter": "A",
          "problem_id": 11445,
          "problem_name": "Cheating Knight",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "arbitrary precision / big integers",
            "binary search",
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "binary_search",
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "B",
          "problem_id": 11446,
          "problem_name": "Chess Tournament",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite graph",
            "constructive",
            "dynamic programming",
            "flood-fill",
            "graph theory",
            "graph traversal",
            "knapsack"
          ],
          "tag_keys": [
            "bipartite_graph",
            "constructive",
            "dp",
            "flood_fill",
            "graphs",
            "graph_traversal",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "C",
          "problem_id": 11447,
          "problem_name": "Colby’s Costly Collectibles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "implementation",
            "area of a polygon",
            "simulation"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "polygon_area",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "D",
          "problem_id": 11448,
          "problem_name": "Ga",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "E",
          "problem_id": 11449,
          "problem_name": "Icelandic Motorclubs",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "disjoint set",
            "priority queue",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "priority_queue",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "F",
          "problem_id": 11450,
          "problem_name": "Manhattan Power Failure",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "disjoint set",
            "grid graph",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "disjoint_set",
            "grid_graph",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "G",
          "problem_id": 11451,
          "problem_name": "팩맨",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "traceback"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "H",
          "problem_id": 11452,
          "problem_name": "Risk",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "I",
          "problem_id": 11453,
          "problem_name": "Rummikub",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "J",
          "problem_id": 11454,
          "problem_name": "Song Titles",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "string",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1409,
          "problem_letter": "K",
          "problem_id": 11455,
          "problem_name": "Tanks",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "geometry; 3d",
            "implementation"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1410,
      "contest_name": "CTU Open Contest 2015",
      "contest_full_name": "CTU Open Contest 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1410,
          "problem_letter": "C",
          "problem_id": 11456,
          "problem_name": "Chasing the Cheetahs",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "arbitrary precision / big integers",
            "ternary search"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "D",
          "problem_id": 11457,
          "problem_name": "Falcon Dive",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "F",
          "problem_id": 11458,
          "problem_name": "The Fox and the Owl",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "case work",
            "greedy"
          ],
          "tag_keys": [
            "case_work",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "H",
          "problem_id": 11459,
          "problem_name": "Feeding the Herrings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "J",
          "problem_id": 11460,
          "problem_name": "Jumping Yoshi",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "L",
          "problem_id": 11461,
          "problem_name": "Lunch Menu",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "binary search",
            "two-pointer",
            "divide and conquer",
            "meet in the middle"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "two_pointer",
            "divide_and_conquer",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "O",
          "problem_id": 11462,
          "problem_name": "The Owl and the Fox",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "P",
          "problem_id": 11463,
          "problem_name": "Plankton Food",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "bellman–ford"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "S",
          "problem_id": 11464,
          "problem_name": "Hacking the Screen",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1410,
          "problem_letter": "T",
          "problem_id": 11465,
          "problem_name": "Visitors’ Train",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "geometry",
            "case work",
            "line segment intersection check"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "case_work",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1411,
      "contest_name": "NEERC Northern Subregional 2015",
      "contest_full_name": "NEERC Northern Subregional 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1411,
          "problem_letter": "A",
          "problem_id": 11466,
          "problem_name": "Alex Origami Squares",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "B",
          "problem_id": 11467,
          "problem_name": "Black and White",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "C",
          "problem_id": 11468,
          "problem_name": "Concatenation",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "D",
          "problem_id": 11469,
          "problem_name": "Distribution in Metagonia",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "greedy",
            "ad-hoc",
            "number theory",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "ad_hoc",
            "number_theory",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "E",
          "problem_id": 11470,
          "problem_name": "Easy Arithmetic",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "F",
          "problem_id": 11471,
          "problem_name": "Fygon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1411,
          "problem_letter": "G",
          "problem_id": 11472,
          "problem_name": "Graph",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "priority queue",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "priority_queue",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "H",
          "problem_id": 11473,
          "problem_name": "Hash Code Hacker",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "I",
          "problem_id": 11474,
          "problem_name": "Insider’s Information",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "J",
          "problem_id": 11475,
          "problem_name": "Journey to the “The World’s Start”",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "data structures",
            "deque",
            "deque range maximum trick",
            "dynamic programming",
            "dynamic programming using a deque",
            "parametric search",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "deque",
            "deque_trick",
            "dp",
            "dp_deque",
            "parametric_search",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "deque_trick",
              "name": "deque range maximum trick",
              "boj_tag_id": 216
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_deque",
              "name": "dynamic programming using a deque",
              "boj_tag_id": 108
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "K",
          "problem_id": 11476,
          "problem_name": "Kingdom Trip",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1411,
          "problem_letter": "L",
          "problem_id": 11477,
          "problem_name": "Lucky Chances",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1412,
      "contest_name": "UKIEPC 2015",
      "contest_full_name": "UKIEPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1412,
          "problem_letter": "A",
          "problem_id": 11480,
          "problem_name": "Aqueduct Construction",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "B",
          "problem_id": 11481,
          "problem_name": "Mountain Biking",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "calculus",
            "physics"
          ],
          "tag_keys": [
            "math",
            "calculus",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "C",
          "problem_id": 11482,
          "problem_name": "Conversation Log",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "D",
          "problem_id": 11483,
          "problem_name": "Slant Drilling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1412,
          "problem_letter": "E",
          "problem_id": 11484,
          "problem_name": "Rainfall",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "F",
          "problem_id": 11485,
          "problem_name": "Physiognomy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1412,
          "problem_letter": "G",
          "problem_id": 11486,
          "problem_name": "Drink Responsibly",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "H",
          "problem_id": 11487,
          "problem_name": "Sunlight",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1412,
          "problem_letter": "I",
          "problem_id": 11488,
          "problem_name": "Nimionese",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "parsing",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "J",
          "problem_id": 11489,
          "problem_name": "Jelly Raid",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "K",
          "problem_id": 11490,
          "problem_name": "Call a Cab",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1412,
          "problem_letter": "L",
          "problem_id": 11491,
          "problem_name": "Telescope",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1412,
          "problem_letter": "M",
          "problem_id": 11492,
          "problem_name": "Milestone Counter",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1413,
      "contest_name": "Asia Regional - Daejeon 2015",
      "contest_full_name": "Asia Regional - Daejeon 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1413,
          "problem_letter": "A",
          "problem_id": 11493,
          "problem_name": "동전 교환",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "B",
          "problem_id": 11494,
          "problem_name": "Equilibrium State",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1413,
          "problem_letter": "C",
          "problem_id": 11495,
          "problem_name": "격자 0 만들기",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "D",
          "problem_id": 11496,
          "problem_name": "Kernel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1413,
          "problem_letter": "E",
          "problem_id": 11497,
          "problem_name": "통나무 건너뛰기",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "F",
          "problem_id": 11498,
          "problem_name": "홀수 싸이클",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "constructive",
            "depth-first search",
            "strongly connected component",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "constructive",
            "dfs",
            "scc",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "G",
          "problem_id": 11499,
          "problem_name": "Path",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "sorting",
            "geometry",
            "stack",
            "convex hull"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "geometry",
            "stack",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "H",
          "problem_id": 11500,
          "problem_name": "Polynomial",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "I",
          "problem_id": 11501,
          "problem_name": "주식",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "J",
          "problem_id": 11502,
          "problem_name": "세 개의 소수 문제",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "K",
          "problem_id": 11503,
          "problem_name": "Tree Edit",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1413,
          "problem_letter": "L",
          "problem_id": 11504,
          "problem_name": "돌려 돌려 돌림판!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1415,
      "contest_name": "2015 South Central USA Regional Programming Contest",
      "contest_full_name": "2015 South Central USA Regional Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1415,
          "problem_letter": "A",
          "problem_id": 11513,
          "problem_name": "Kinfolk",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "case work",
            "implementation",
            "lowest common ancestor",
            "tree"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "lca",
            "trees"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "B",
          "problem_id": 11514,
          "problem_name": "Refract Facts",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "binary search",
            "physics"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "C",
          "problem_id": 11515,
          "problem_name": "Poker",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "D",
          "problem_id": 11516,
          "problem_name": "Interpreter",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "E",
          "problem_id": 11517,
          "problem_name": "Positive Con Sequences",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "F",
          "problem_id": 11518,
          "problem_name": "Morse",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "G",
          "problem_id": 11519,
          "problem_name": "Hounded by Indecision",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "H",
          "problem_id": 11520,
          "problem_name": "And Then There Was 5",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1415,
          "problem_letter": "I",
          "problem_id": 11521,
          "problem_name": "Boggle",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "string",
            "bruteforcing",
            "graph traversal",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "bruteforcing",
            "graph_traversal",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1416,
      "contest_name": "2015 Greater New York Programming Contest",
      "contest_full_name": "2015 Greater New York Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1416,
          "problem_letter": "A",
          "problem_id": 11522,
          "problem_name": "Sum Kind of Problem",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "B",
          "problem_id": 11523,
          "problem_name": "Running Steps",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "C",
          "problem_id": 11524,
          "problem_name": "Immortal Porpoises",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "D",
          "problem_id": 11525,
          "problem_name": "Farey Sequence Length",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "prefix sum",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prefix_sum",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "E",
          "problem_id": 11526,
          "problem_name": "A Rational Sequence",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "F",
          "problem_id": 11527,
          "problem_name": "Robots",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "G",
          "problem_id": 11528,
          "problem_name": "Compositions",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "H",
          "problem_id": 11529,
          "problem_name": "Brocard Point of a Triangle",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "geometry"
          ],
          "tag_keys": [
            "binary_search",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1416,
          "problem_letter": "I",
          "problem_id": 11530,
          "problem_name": "RATS",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "arbitrary precision / big integers",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1417,
      "contest_name": "2015 Mid-Central Regional Programming Contest",
      "contest_full_name": "2015 Mid-Central Regional Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1417,
          "problem_letter": "A",
          "problem_id": 11531,
          "problem_name": "ACM 대회 채점",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "B",
          "problem_id": 11532,
          "problem_name": "The Agglomerator",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "implementation",
            "simulation",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "simulation",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "C",
          "problem_id": 11533,
          "problem_name": "Dance Recital",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "D",
          "problem_id": 11534,
          "problem_name": "Hidden Password",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "E",
          "problem_id": 11535,
          "problem_name": "Kitchen Measurements",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "graph theory",
            "set / map",
            "shortest path",
            "set / map by hashing",
            "dijkstra's"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "set",
            "shortest_path",
            "hash_set",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "F",
          "problem_id": 11536,
          "problem_name": "줄 세우기",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "G",
          "problem_id": 11537,
          "problem_name": "Mosaic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1417,
          "problem_letter": "H",
          "problem_id": 11538,
          "problem_name": "Pyro Tubes",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bitmask",
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1417,
          "problem_letter": "I",
          "problem_id": 11539,
          "problem_name": "Word Clouds Revisited",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1418,
      "contest_name": "Latin America Regional Contests 2015",
      "contest_full_name": "Latin America Regional Contests 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1418,
          "problem_letter": "A",
          "problem_id": 11541,
          "problem_name": "At most twice",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "B",
          "problem_id": 11542,
          "problem_name": "Blood groups",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow",
            "circulation"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf",
            "circulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "C",
          "problem_id": 11543,
          "problem_name": "Cake cut",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "two-pointer",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "two_pointer",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "D",
          "problem_id": 11544,
          "problem_name": "D as in Daedalus",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "E",
          "problem_id": 11545,
          "problem_name": "Exposing corruption",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "knapsack",
            "bipartite graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "knapsack",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "F",
          "problem_id": 11546,
          "problem_name": "Fence the vegetables fail",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "G",
          "problem_id": 11547,
          "problem_name": "Galactic taxes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "ternary search"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "H",
          "problem_id": 11548,
          "problem_name": "Height map",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "I",
          "problem_id": 11549,
          "problem_name": "Identifying tea",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "J",
          "problem_id": 11550,
          "problem_name": "Just a bit sorted",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1418,
          "problem_letter": "K",
          "problem_id": 11551,
          "problem_name": "Keep it energized",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "binary search",
            "prefix sum",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "binary_search",
            "prefix_sum",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1418,
          "problem_letter": "P",
          "problem_id": 11540,
          "problem_name": "Competition",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1424,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2015 Pacific Northwest Region Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1424,
          "problem_letter": "A",
          "problem_id": 11593,
          "problem_name": "Airports",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "shortest path",
            "bipartite matching",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bipartite_matching",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "B",
          "problem_id": 11594,
          "problem_name": "Butterfly Effect",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1424,
          "problem_letter": "C",
          "problem_id": 11595,
          "problem_name": "Classy",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "sorting",
            "string"
          ],
          "tag_keys": [
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "D",
          "problem_id": 11596,
          "problem_name": "Triangle",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "E",
          "problem_id": 11597,
          "problem_name": "Excellence",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "F",
          "problem_id": 11598,
          "problem_name": "Falling Blocks",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "case work",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "case_work",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "G",
          "problem_id": 11599,
          "problem_name": "Racing Gems",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "geometry",
            "lis"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "H",
          "problem_id": 11600,
          "problem_name": "Hilbert Sort",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "divide and conquer",
            "implementation"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1424,
          "problem_letter": "I",
          "problem_id": 11601,
          "problem_name": "Coverage",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1424,
          "problem_letter": "J",
          "problem_id": 11602,
          "problem_name": "Olympics",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1424,
          "problem_letter": "K",
          "problem_id": 11603,
          "problem_name": "Checkers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "disjoint set",
            "grid graph",
            "eulerian path / circuit",
            "parity"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "disjoint_set",
            "grid_graph",
            "eulerian_path",
            "parity"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1425,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2015 Pacific Northwest Region Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1425,
          "problem_letter": "L",
          "problem_id": 11604,
          "problem_name": "Millionaire",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "M",
          "problem_id": 11605,
          "problem_name": "Magic Trick",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "N",
          "problem_id": 11606,
          "problem_name": "Egg Drop",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "O",
          "problem_id": 11607,
          "problem_name": "Grid",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "P",
          "problem_id": 11608,
          "problem_name": "Complexity",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "Q",
          "problem_id": 11597,
          "problem_name": "Excellence",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "R",
          "problem_id": 11609,
          "problem_name": "Class Time",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "S",
          "problem_id": 11610,
          "problem_name": "Surf",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "T",
          "problem_id": 11596,
          "problem_name": "Triangle",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "U",
          "problem_id": 11611,
          "problem_name": "Blur",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1425,
          "problem_letter": "V",
          "problem_id": 11612,
          "problem_name": "Gears",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bipartite graph"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bfs",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1426,
      "contest_name": "CERC 2015",
      "contest_full_name": "CERC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1426,
          "problem_letter": "A",
          "problem_id": 11613,
          "problem_name": "ASCII Addition",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "B",
          "problem_id": 11614,
          "problem_name": "Book Borders",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "prefix sum",
            "harmonic number"
          ],
          "tag_keys": [
            "binary_search",
            "prefix_sum",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "C",
          "problem_id": 11615,
          "problem_name": "Cow Confinement",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "data structures",
            "geometry",
            "segment tree with lazy propagation",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "lazyprop",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "D",
          "problem_id": 11616,
          "problem_name": "Digit Division",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "E",
          "problem_id": 11617,
          "problem_name": "Export Estimate",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "data structures",
            "disjoint set",
            "offline queries"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "disjoint_set",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "F",
          "problem_id": 11618,
          "problem_name": "Frightful Formula",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "combinatorics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "G",
          "problem_id": 11619,
          "problem_name": "Greenhouse Growth",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "disjoint set",
            "implementation",
            "simulation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "implementation",
            "simulation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "H",
          "problem_id": 11620,
          "problem_name": "Hovering Hornet",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "probability theory",
            "convex hull",
            "geometry; 3d",
            "area of a polygon",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "probability",
            "convex_hull",
            "geometry_3d",
            "polygon_area",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "I",
          "problem_id": 11621,
          "problem_name": "Ice Igloos",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "J",
          "problem_id": 11622,
          "problem_name": "Juice Junctions",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "disjoint set",
            "maximum flow",
            "max-flow min-cut theorem",
            "biconnected component"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "disjoint_set",
            "flow",
            "mfmc",
            "bcc"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "K",
          "problem_id": 11623,
          "problem_name": "Kernel Knights",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting",
            "functional graph"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting",
            "functional_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            }
          ]
        },
        {
          "contest_id": 1426,
          "problem_letter": "L",
          "problem_id": 11624,
          "problem_name": "Looping Labyrinth",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "number theory",
            "breadth-first search",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "number_theory",
            "bfs",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1427,
      "contest_name": "BAPC 2015",
      "contest_full_name": "BAPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1427,
          "problem_letter": "A",
          "problem_id": 11625,
          "problem_name": "Freight Train",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "binary search",
            "value / coordinate compression",
            "dynamic programming",
            "greedy",
            "parametric search"
          ],
          "tag_keys": [
            "ad_hoc",
            "binary_search",
            "coordinate_compression",
            "dp",
            "greedy",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "B",
          "problem_id": 11626,
          "problem_name": "Physical Music",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "C",
          "problem_id": 11627,
          "problem_name": "Godzilla",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "D",
          "problem_id": 11628,
          "problem_name": "Hotels",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "sweeping"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "E",
          "problem_id": 11629,
          "problem_name": "The King’s Walk",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "F",
          "problem_id": 11630,
          "problem_name": "Map Colouring",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "G",
          "problem_id": 11631,
          "problem_name": "Mario",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "H",
          "problem_id": 11632,
          "problem_name": "Museum",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "I",
          "problem_id": 11633,
          "problem_name": "Six Degrees",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "shortest path"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "bfs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "J",
          "problem_id": 11634,
          "problem_name": "Tour de France",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "meet in the middle"
          ],
          "tag_keys": [
            "graphs",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "K",
          "problem_id": 11635,
          "problem_name": "Wipe Your Whiteboards",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 1427,
          "problem_letter": "L",
          "problem_id": 11636,
          "problem_name": "Stand on Zanzibar",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1428,
      "contest_name": "2015 Rocky Mountain Regional Contest",
      "contest_full_name": "2015 Rocky Mountain Regional Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1428,
          "problem_letter": "A",
          "problem_id": 11637,
          "problem_name": "인기 투표",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "B",
          "problem_id": 11638,
          "problem_name": "Flipping Cards",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "breadth-first search",
            "data structures",
            "depth-first search",
            "disjoint set",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "dfs",
            "disjoint_set",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "C",
          "problem_id": 11639,
          "problem_name": "Amazing Race",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "D",
          "problem_id": 11640,
          "problem_name": "Scaling Recipes",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "E",
          "problem_id": 11641,
          "problem_name": "Space Junk",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "geometry; 3d",
            "mathematics",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "math",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "F",
          "problem_id": 11595,
          "problem_name": "Classy",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "sorting",
            "string"
          ],
          "tag_keys": [
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "G",
          "problem_id": 11642,
          "problem_name": "Rubik’s Revenge in ... 2D!? 3D?",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bidirectional search",
            "graph theory",
            "implementation",
            "meet in the middle"
          ],
          "tag_keys": [
            "bidirectional_search",
            "graphs",
            "implementation",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "bidirectional_search",
              "name": "bidirectional search",
              "boj_tag_id": 129
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "H",
          "problem_id": 11643,
          "problem_name": "The Magical 3",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "I",
          "problem_id": 11644,
          "problem_name": "Matrix Keypad",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "J",
          "problem_id": 11645,
          "problem_name": "I’ve Been Everywhere, Man",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1428,
          "problem_letter": "K",
          "problem_id": 11646,
          "problem_name": "Bundles of Joy",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bit set",
            "dynamic programming"
          ],
          "tag_keys": [
            "bitset",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1429,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2015 Southeast USA Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1429,
          "problem_letter": "A",
          "problem_id": 11593,
          "problem_name": "Airports",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "shortest path",
            "bipartite matching",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "bipartite_matching",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "B",
          "problem_id": 11647,
          "problem_name": "Checkers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "ad-hoc",
            "disjoint set",
            "grid graph",
            "eulerian path / circuit",
            "parity"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "ad_hoc",
            "disjoint_set",
            "grid_graph",
            "eulerian_path",
            "parity"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "C",
          "problem_id": 11601,
          "problem_name": "Coverage",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1429,
          "problem_letter": "D",
          "problem_id": 11612,
          "problem_name": "Gears",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bipartite graph"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bfs",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "E",
          "problem_id": 11607,
          "problem_name": "Grid",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "F",
          "problem_id": 11600,
          "problem_name": "Hilbert Sort",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "divide and conquer",
            "implementation"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "G",
          "problem_id": 11643,
          "problem_name": "The Magical 3",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "H",
          "problem_id": 11599,
          "problem_name": "Racing Gems",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "geometry",
            "lis"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "I",
          "problem_id": 11608,
          "problem_name": "Complexity",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1429,
          "problem_letter": "J",
          "problem_id": 11602,
          "problem_name": "Olympics",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1430,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2015 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1430,
          "problem_letter": "A",
          "problem_id": 11611,
          "problem_name": "Blur",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "B",
          "problem_id": 11595,
          "problem_name": "Classy",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "sorting",
            "string"
          ],
          "tag_keys": [
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "C",
          "problem_id": 11606,
          "problem_name": "Egg Drop",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "D",
          "problem_id": 11597,
          "problem_name": "Excellence",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "E",
          "problem_id": 11607,
          "problem_name": "Grid",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "G",
          "problem_id": 11600,
          "problem_name": "Hilbert Sort",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "divide and conquer",
            "implementation"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "H",
          "problem_id": 11643,
          "problem_name": "The Magical 3",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "I",
          "problem_id": 11648,
          "problem_name": "지속",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "J",
          "problem_id": 11608,
          "problem_name": "Complexity",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "K",
          "problem_id": 11596,
          "problem_name": "Triangle",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1430,
          "problem_letter": "L",
          "problem_id": 11649,
          "problem_name": "Xedni Drawkcab",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1431,
      "contest_name": "NWERC 2015",
      "contest_full_name": "NWERC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1431,
          "problem_letter": "A",
          "problem_id": 11666,
          "problem_name": "워크스테이션 배정",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "B",
          "problem_id": 11667,
          "problem_name": "생산성 향상",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "C",
          "problem_id": 11668,
          "problem_name": "파이프 청소",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "geometry",
            "line segment intersection check",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "geometry",
            "line_intersection",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "D",
          "problem_id": 11669,
          "problem_name": "Debugging",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "E",
          "problem_id": 11670,
          "problem_name": "초등 수학",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "F",
          "problem_id": 11671,
          "problem_name": "Flight Plan Evaluation",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1431,
          "problem_letter": "G",
          "problem_id": 11672,
          "problem_name": "Guessing Camels",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "cdq"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "cdq"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "cdq",
              "name": "cdq",
              "boj_tag_id": 237
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "H",
          "problem_id": 11673,
          "problem_name": "Hole in One",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "simulation",
            "line segment intersection check"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "simulation",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "I",
          "problem_id": 11674,
          "problem_name": "Identifying Map Tiles",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "J",
          "problem_id": 11675,
          "problem_name": "Jumbled Communication",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1431,
          "problem_letter": "K",
          "problem_id": 11676,
          "problem_name": "Kitchen Combinatorics",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1432,
      "contest_name": "SWERC 2015",
      "contest_full_name": "SWERC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1432,
          "problem_letter": "A",
          "problem_id": 11677,
          "problem_name": "Promotions",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "directed acyclic graph",
            "graph theory",
            "graph traversal",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "graphs",
            "graph_traversal",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "B",
          "problem_id": 11678,
          "problem_name": "Black Vienna",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "2-sat",
            "bruteforcing",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "bruteforcing",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "C",
          "problem_id": 11679,
          "problem_name": "Canvas Painting",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "D",
          "problem_id": 11680,
          "problem_name": "Dice Cup",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "E",
          "problem_id": 11681,
          "problem_name": "Wooden Signs",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "F",
          "problem_id": 11682,
          "problem_name": "Landscaping",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "grid graph",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "grid_graph",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "G",
          "problem_id": 11683,
          "problem_name": "Game of Cards",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "H",
          "problem_id": 11684,
          "problem_name": "Sheldon Numbers",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1432,
          "problem_letter": "I",
          "problem_id": 11685,
          "problem_name": "Text Processor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1432,
          "problem_letter": "J",
          "problem_id": 11686,
          "problem_name": "Saint John Festival",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "binary search",
            "convex hull",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "convex_hull",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1439,
      "contest_name": "NEERC 2015",
      "contest_full_name": "NEERC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1439,
          "problem_letter": "A",
          "problem_id": 11735,
          "problem_name": "정산소",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "B",
          "problem_id": 11736,
          "problem_name": "Binary vs Decimal",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "number theory",
            "breadth-first search",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "number_theory",
            "bfs",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "C",
          "problem_id": 11737,
          "problem_name": "Cactus Jubilee",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "articulation points and bridges",
            "cactus",
            "graph theory"
          ],
          "tag_keys": [
            "articulation",
            "cactus",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "D",
          "problem_id": 11738,
          "problem_name": "Distance on Triangulation",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "breadth-first search",
            "divide and conquer",
            "offline queries"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "bfs",
            "divide_and_conquer",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "E",
          "problem_id": 11739,
          "problem_name": "Easy Problemset",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "F",
          "problem_id": 11740,
          "problem_name": "Froggy Ford",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "geometry",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "geometry",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "G",
          "problem_id": 11741,
          "problem_name": "Generators",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "H",
          "problem_id": 11742,
          "problem_name": "Hypercube",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "geometry",
            "geometry; hyperdimensional"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "geometry",
            "geometry_hyper"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_hyper",
              "name": "geometry; hyperdimensional",
              "boj_tag_id": 132
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "I",
          "problem_id": 11743,
          "problem_name": "Iceberg Orders",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "ad-hoc",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "J",
          "problem_id": 11744,
          "problem_name": "Jump",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "randomization"
          ],
          "tag_keys": [
            "randomization"
          ],
          "tag_details": [
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "K",
          "problem_id": 11745,
          "problem_name": "King’s Inspection",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1439,
          "problem_letter": "L",
          "problem_id": 11746,
          "problem_name": "Landscape Improved",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "two-pointer"
          ],
          "tag_keys": [
            "binary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1440,
      "contest_name": "Asia Regional Contest 2015 in Tsukuba",
      "contest_full_name": "Asia Regional Contest 2015 in Tsukuba",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1440,
          "problem_letter": "A",
          "problem_id": 11747,
          "problem_name": "수열",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "B",
          "problem_id": 11748,
          "problem_name": "Squeeze the Cylinders",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "C",
          "problem_id": 11749,
          "problem_name": "형제 게임",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "game theory"
          ],
          "tag_keys": [
            "graphs",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "D",
          "problem_id": 11750,
          "problem_name": "Wall Clocks",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "greedy",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "E",
          "problem_id": 11751,
          "problem_name": "Bringing Order to Disorder",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "backtracking",
            "bruteforcing",
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "combinatorics",
            "dp",
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "F",
          "problem_id": 11752,
          "problem_name": "Deadlock Detection",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "G",
          "problem_id": 11753,
          "problem_name": "알파카 문장",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "H",
          "problem_id": 11754,
          "problem_name": "Rotating Cutter Bits",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1440,
          "problem_letter": "I",
          "problem_id": 11755,
          "problem_name": "Routing a Marathon Race",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "backtracking"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "J",
          "problem_id": 11756,
          "problem_name": "Post Office Investigation",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "tree",
            "lowest common ancestor",
            "dominator tree"
          ],
          "tag_keys": [
            "trees",
            "lca",
            "dominator_tree"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "dominator_tree",
              "name": "dominator tree",
              "boj_tag_id": 135
            }
          ]
        },
        {
          "contest_id": 1440,
          "problem_letter": "K",
          "problem_id": 11757,
          "problem_name": "Min-Max Distance Game",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "greedy",
            "binary search",
            "game theory",
            "parametric search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "binary_search",
            "game_theory",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1441,
      "contest_name": "2015 East Central Regional Contest",
      "contest_full_name": "2015 East Central Regional Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1441,
          "problem_letter": "A",
          "problem_id": 11763,
          "problem_name": "Being Solarly Systematic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1441,
          "problem_letter": "B",
          "problem_id": 11764,
          "problem_name": "Delete This!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "C",
          "problem_id": 11765,
          "problem_name": "KenKen You Do It?",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "backtracking"
          ],
          "tag_keys": [
            "dp",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "D",
          "problem_id": 11766,
          "problem_name": "Rings",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "E",
          "problem_id": 11767,
          "problem_name": "Squawk Virus",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "F",
          "problem_id": 11768,
          "problem_name": "Transportation Delegation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "G",
          "problem_id": 11769,
          "problem_name": "Tray Bien",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "H",
          "problem_id": 11770,
          "problem_name": "Trick Shot",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "I",
          "problem_id": 11771,
          "problem_name": "What’s on the Grille?",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "PA",
          "problem_id": 11759,
          "problem_name": "Bottled-Up Feelings",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "PB",
          "problem_id": 11760,
          "problem_name": "Mastering Mastermind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "PC",
          "problem_id": 11761,
          "problem_name": "Shuffling Along",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1441,
          "problem_letter": "PD",
          "problem_id": 11762,
          "problem_name": "A Towering Problem",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "sorting",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "sorting",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1444,
      "contest_name": "2015 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_full_name": "2015 ACM-ICPC Asia Phuket Regional Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1444,
          "problem_letter": "A",
          "problem_id": 11784,
          "problem_name": "Hex Code",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "B",
          "problem_id": 11785,
          "problem_name": "Programming Contest Strategy",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "C",
          "problem_id": 11786,
          "problem_name": "Terrorists",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1444,
          "problem_letter": "D",
          "problem_id": 11787,
          "problem_name": "Aquarium",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "disjoint set",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "disjoint_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "E",
          "problem_id": 11788,
          "problem_name": "Queue of Soldiers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1444,
          "problem_letter": "F",
          "problem_id": 11789,
          "problem_name": "Jumping Joey",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1444,
          "problem_letter": "G",
          "problem_id": 11790,
          "problem_name": "Primorial vs LCM",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "sorting",
            "number theory",
            "binary search",
            "primality test",
            "offline queries",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "number_theory",
            "binary_search",
            "primality_test",
            "offline_queries",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "H",
          "problem_id": 11791,
          "problem_name": "Automatic Scholarship Calculation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "I",
          "problem_id": 11792,
          "problem_name": "Tom and Jerry",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "J",
          "problem_id": 11793,
          "problem_name": "Sunlight on a Tree",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "binary search",
            "case work",
            "convex hull",
            "data structures",
            "geometry",
            "heavy-light decomposition",
            "implementation",
            "merge sort tree",
            "offline queries",
            "segment tree",
            "sorting",
            "tree"
          ],
          "tag_keys": [
            "binary_search",
            "case_work",
            "convex_hull",
            "data_structures",
            "geometry",
            "hld",
            "implementation",
            "merge_sort_tree",
            "offline_queries",
            "segtree",
            "sorting",
            "trees"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1444,
          "problem_letter": "K",
          "problem_id": 11794,
          "problem_name": "New Angry Bird Weapon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1444,
          "problem_letter": "L",
          "problem_id": 11795,
          "problem_name": "Donation Packaging",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1445,
      "contest_name": "2014 Arab Collegiate Programming Contest",
      "contest_full_name": "2014 Arab Collegiate Programming Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1445,
          "problem_letter": "A",
          "problem_id": 11799,
          "problem_name": "Game of Peace",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "euclidean algorithm",
            "implementation",
            "mathematics",
            "number theory",
            "simulation"
          ],
          "tag_keys": [
            "bruteforcing",
            "euclidean",
            "implementation",
            "math",
            "number_theory",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1445,
          "problem_letter": "B",
          "problem_id": 11800,
          "problem_name": "Tawla",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1445,
          "problem_letter": "C",
          "problem_id": 11801,
          "problem_name": "Feast Coins",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "sorting",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1445,
          "problem_letter": "D",
          "problem_id": 11802,
          "problem_name": "Wedding Selfie",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1445,
          "problem_letter": "E",
          "problem_id": 11803,
          "problem_name": "Connect the Cells",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1445,
          "problem_letter": "F",
          "problem_id": 11804,
          "problem_name": "Bike Sharing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1445,
          "problem_letter": "G",
          "problem_id": 11805,
          "problem_name": "Special Christmas Tree",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1445,
          "problem_letter": "H",
          "problem_id": 11806,
          "problem_name": "Messed up Pictures",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1445,
          "problem_letter": "I",
          "problem_id": 11807,
          "problem_name": "Equivalent Passwords",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking",
            "bitmask",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1445,
          "problem_letter": "J",
          "problem_id": 11808,
          "problem_name": "마리오와 사악한 키노피오",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1490,
      "contest_name": "ACM-ICPC World Finals 2016",
      "contest_full_name": "ACM-ICPC World Finals 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > World Finals",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1490,
          "problem_letter": "A",
          "problem_id": 12765,
          "problem_name": "Balanced Diet",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "B",
          "problem_id": 12766,
          "problem_name": "지사 배정",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "dijkstra's",
            "divide and conquer",
            "dynamic programming",
            "divide and conquer optimization",
            "prefix sum",
            "shortest path"
          ],
          "tag_keys": [
            "graphs",
            "dijkstra",
            "divide_and_conquer",
            "dp",
            "divide_and_conquer_optimization",
            "prefix_sum",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "C",
          "problem_id": 12767,
          "problem_name": "Ceiling Function",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "tree",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "D",
          "problem_id": 12768,
          "problem_name": "Clock Breaking",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "E",
          "problem_id": 12769,
          "problem_name": "영원한 젊음",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "bruteforcing",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "F",
          "problem_id": 12770,
          "problem_name": "Longest Rivers",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "graph theory",
            "data structures",
            "greedy",
            "graph traversal",
            "tree",
            "depth-first search",
            "sweeping",
            "dynamic programming on trees",
            "priority queue",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "data_structures",
            "greedy",
            "graph_traversal",
            "trees",
            "dfs",
            "sweeping",
            "dp_tree",
            "priority_queue",
            "hld"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "G",
          "problem_id": 12771,
          "problem_name": "Oil",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "H",
          "problem_id": 12772,
          "problem_name": "Polygonal Puzzle",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case work",
            "sweeping",
            "line segment intersection check"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case_work",
            "sweeping",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "I",
          "problem_id": 12773,
          "problem_name": "Road Times",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "shortest path",
            "linear programming"
          ],
          "tag_keys": [
            "shortest_path",
            "linear_programming"
          ],
          "tag_details": [
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "J",
          "problem_id": 12774,
          "problem_name": "Spin Doctor",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "binary search",
            "convex hull",
            "ternary search",
            "convex hull trick"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "convex_hull",
            "ternary_search",
            "cht"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "K",
          "problem_id": 12775,
          "problem_name": "String Theory",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "L",
          "problem_id": 12776,
          "problem_name": "Swap Space",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1490,
          "problem_letter": "M",
          "problem_id": 12777,
          "problem_name": "What Really Happened on Mars?",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "ad_hoc",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1502,
      "contest_name": "NAIPC 2016",
      "contest_full_name": "NAIPC 2016",
      "contest_year": 2016,
      "contest_path": "North American Invitational Programming Contest | University > NAIPC",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1502,
          "problem_letter": "A",
          "problem_id": 13051,
          "problem_name": "Fancy Antiques",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "meet in the middle",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "mitm",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "B",
          "problem_id": 13052,
          "problem_name": "Alternative Bracket Notation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "C",
          "problem_id": 13053,
          "problem_name": "Greetings!",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "D",
          "problem_id": 13054,
          "problem_name": "Programming Team",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "binary_search",
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "E",
          "problem_id": 13055,
          "problem_name": "K-Inversions",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "F",
          "problem_id": 13056,
          "problem_name": "Mountain Scenes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "G",
          "problem_id": 13057,
          "problem_name": "Symmetry",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "H",
          "problem_id": 13058,
          "problem_name": "Jewel Thief",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "divide and conquer",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "divide_and_conquer",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "I",
          "problem_id": 13059,
          "problem_name": "Tourists",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "tree",
            "lowest common ancestor",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "trees",
            "lca",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "J",
          "problem_id": 13060,
          "problem_name": "Whiteboard",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "disjoint set",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "disjoint_set",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1502,
          "problem_letter": "K",
          "problem_id": 13061,
          "problem_name": "YATP",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "tree",
            "divide and conquer",
            "convex hull trick",
            "centroid",
            "centroid decomposition"
          ],
          "tag_keys": [
            "trees",
            "divide_and_conquer",
            "cht",
            "centroid",
            "centroid_decomposition"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1503,
      "contest_name": "Tehran Site 2015",
      "contest_full_name": "Tehran Site 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1503,
          "problem_letter": "A",
          "problem_id": 13063,
          "problem_name": "Lobby",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1503,
          "problem_letter": "B",
          "problem_id": 13064,
          "problem_name": "Cameras",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1503,
          "problem_letter": "C",
          "problem_id": 13065,
          "problem_name": "Robot",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "biconnected component",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bcc",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1503,
          "problem_letter": "D",
          "problem_id": 13066,
          "problem_name": "Laser Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1503,
          "problem_letter": "E",
          "problem_id": 13067,
          "problem_name": "Billboard",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1503,
          "problem_letter": "F",
          "problem_id": 13068,
          "problem_name": "Funfair",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1503,
          "problem_letter": "G",
          "problem_id": 13069,
          "problem_name": "Beehive",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1503,
          "problem_letter": "H",
          "problem_id": 13070,
          "problem_name": "DNA Sequencing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1503,
          "problem_letter": "I",
          "problem_id": 13071,
          "problem_name": "Cafebazaar",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "circulation",
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "circulation",
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1503,
          "problem_letter": "J",
          "problem_id": 13072,
          "problem_name": "Fence",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "convex hull",
            "angle sorting"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1504,
      "contest_name": "IIPC 2015",
      "contest_full_name": "IIPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran > Iran Internet Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1504,
          "problem_letter": "A",
          "problem_id": 13073,
          "problem_name": "Sums",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "B",
          "problem_id": 13074,
          "problem_name": "Musican Notes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "C",
          "problem_id": 13075,
          "problem_name": "Fibonacci Sequence",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "D",
          "problem_id": 13076,
          "problem_name": "Distinct rational numbers",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "prefix sum",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prefix_sum",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "E",
          "problem_id": 13077,
          "problem_name": "Sequence",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "tree"
          ],
          "tag_keys": [
            "math",
            "trees"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "F",
          "problem_id": 13078,
          "problem_name": "History-Cleanable DFA",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "G",
          "problem_id": 13079,
          "problem_name": "Partitioning a Queue",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "H",
          "problem_id": 13080,
          "problem_name": "Brocard Point",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "binary search",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1504,
          "problem_letter": "I",
          "problem_id": 13081,
          "problem_name": "RATS",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "arbitrary precision / big integers",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1509,
      "contest_name": "GCPC 2016",
      "contest_full_name": "GCPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1509,
          "problem_letter": "A",
          "problem_id": 13147,
          "problem_name": "Dwarves",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "B",
          "problem_id": 13148,
          "problem_name": "Correcting Cheeseburgers",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "breadth-first search",
            "bidirectional search",
            "graph theory",
            "graph traversal",
            "meet in the middle"
          ],
          "tag_keys": [
            "bfs",
            "bidirectional_search",
            "graphs",
            "graph_traversal",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bidirectional_search",
              "name": "bidirectional search",
              "boj_tag_id": 129
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "C",
          "problem_id": 13149,
          "problem_name": "Knapsack in a Globalized World",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "knapsack"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "D",
          "problem_id": 13150,
          "problem_name": "Matrix Cypher",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "arbitrary precision / big integers",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "arbitrary_precision",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "E",
          "problem_id": 13151,
          "problem_name": "Model Railroad",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "F",
          "problem_id": 13152,
          "problem_name": "One-Way Roads",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "binary search",
            "parametric search",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "parametric_search",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "G",
          "problem_id": 13153,
          "problem_name": "Formula",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "H",
          "problem_id": 13154,
          "problem_name": "Celestial Map",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "I",
          "problem_id": 13155,
          "problem_name": "Common Knowledge",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "J",
          "problem_id": 13156,
          "problem_name": "Selling CPUs",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "K",
          "problem_id": 13157,
          "problem_name": "Routing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1509,
          "problem_letter": "L",
          "problem_id": 13158,
          "problem_name": "Maze",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1522,
      "contest_name": "2016 Japan Domestic Contest",
      "contest_full_name": "2016 Japan Domestic Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1522,
          "problem_letter": "A",
          "problem_id": 13280,
          "problem_name": "Selection of Participants of an Experiment",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1522,
          "problem_letter": "B",
          "problem_id": 13281,
          "problem_name": "Look for the Winner!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1522,
          "problem_letter": "C",
          "problem_id": 13282,
          "problem_name": "Bamboo Blossoms",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "greedy",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "bit set"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory",
            "primality_test",
            "sieve",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 1522,
          "problem_letter": "D",
          "problem_id": 13283,
          "problem_name": "Daruma Otoshi",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1522,
          "problem_letter": "E",
          "problem_id": 13284,
          "problem_name": "3D Printing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1522,
          "problem_letter": "F",
          "problem_id": 13285,
          "problem_name": "Deciphering Characters",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "tree",
            "tree isomorphism"
          ],
          "tag_keys": [
            "trees",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 1522,
          "problem_letter": "G",
          "problem_id": 13286,
          "problem_name": "Warp Drive",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1522,
          "problem_letter": "H",
          "problem_id": 13287,
          "problem_name": "Gift Exchange Party",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "circulation",
            "maximum flow",
            "two-pointer",
            "graph theory"
          ],
          "tag_keys": [
            "binary_search",
            "circulation",
            "flow",
            "two_pointer",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1523,
      "contest_name": "ACM-ICPC North America Qualifier 2016",
      "contest_full_name": "ACM-ICPC North America Qualifier 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1523,
          "problem_letter": "A",
          "problem_id": 13288,
          "problem_name": "A New Alphabet",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "B",
          "problem_id": 13289,
          "problem_name": "Arcade!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "gaussian elimination",
            "graph theory",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "gaussian_elimination",
            "graphs",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "C",
          "problem_id": 13290,
          "problem_name": "Big Truck",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "D",
          "problem_id": 13291,
          "problem_name": "Brackets",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "E",
          "problem_id": 13292,
          "problem_name": "Dots and Boxes",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "implementation",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "implementation",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "F",
          "problem_id": 13293,
          "problem_name": "Free Desserts",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "G",
          "problem_id": 13294,
          "problem_name": "역팩토리얼",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "H",
          "problem_id": 13295,
          "problem_name": "Nine Packs",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "I",
          "problem_id": 13296,
          "problem_name": "Primonimo",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "J",
          "problem_id": 13297,
          "problem_name": "Quick Estimates",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "K",
          "problem_id": 13298,
          "problem_name": "Robotopia",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1523,
          "problem_letter": "L",
          "problem_id": 13299,
          "problem_name": "Unusual Darts",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "geometry",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1528,
      "contest_name": "Daejeon Nationalwide Internet Competition 2016",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1528,
          "problem_letter": "A",
          "problem_id": 13325,
          "problem_name": "이진 트리",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "B",
          "problem_id": 13326,
          "problem_name": "Diameter",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "C",
          "problem_id": 13327,
          "problem_name": "개구리",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dijkstra's",
            "geometry",
            "graph theory",
            "implementation",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "geometry",
            "graphs",
            "implementation",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "D",
          "problem_id": 13328,
          "problem_name": "Message Passing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "dp",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "E",
          "problem_id": 13329,
          "problem_name": "Meteor Shower",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "sorting",
            "geometry",
            "set / map",
            "sweeping",
            "set / map by trees",
            "convex hull",
            "angle sorting"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "geometry",
            "set",
            "sweeping",
            "tree_set",
            "convex_hull",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "F",
          "problem_id": 13330,
          "problem_name": "유사 팰린드롬",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "G",
          "problem_id": 13331,
          "problem_name": "Planar Drawing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "disjoint set",
            "dual graph",
            "graph theory",
            "implementation",
            "planar graph"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "dual_graph",
            "graphs",
            "implementation",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "dual_graph",
              "name": "dual graph",
              "boj_tag_id": 181
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "H",
          "problem_id": 13332,
          "problem_name": "Project Team",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "maximum flow",
            "circulation"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "circulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "I",
          "problem_id": 13333,
          "problem_name": "Q-인덱스",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "J",
          "problem_id": 13334,
          "problem_name": "철로",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "sorting",
            "sweeping",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "sweeping",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "K",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1528,
          "problem_letter": "L",
          "problem_id": 13335,
          "problem_name": "트럭",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1529,
      "contest_name": "BAPC 2016 Preliminaries",
      "contest_full_name": "BAPC 2016 Preliminaries",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1529,
          "problem_letter": "A",
          "problem_id": 13343,
          "problem_name": "Block Game",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "game theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "game_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "B",
          "problem_id": 13344,
          "problem_name": "Chess Tournament",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "C",
          "problem_id": 13345,
          "problem_name": "Completing the Square",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "D",
          "problem_id": 13346,
          "problem_name": "Hamming Ellipses",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "E",
          "problem_id": 13347,
          "problem_name": "Lost In The Woods",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "F",
          "problem_id": 13348,
          "problem_name": "Memory Match",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "G",
          "problem_id": 13349,
          "problem_name": "Millionaire Madness",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "binary search",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "binary_search",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "H",
          "problem_id": 13350,
          "problem_name": "Presidential Elections",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "I",
          "problem_id": 13351,
          "problem_name": "Rock Band",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "sorting",
            "prefix sum",
            "set / map by hashing",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "prefix_sum",
            "hash_set",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "J",
          "problem_id": 13352,
          "problem_name": "석양이 진다...",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "geometry",
            "randomization"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 1529,
          "problem_letter": "K",
          "problem_id": 13353,
          "problem_name": "Translators’ Dinner",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1530,
      "contest_name": "NCPC 2016",
      "contest_full_name": "NCPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1530,
          "problem_letter": "A",
          "problem_id": 13354,
          "problem_name": "Artwork",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "disjoint set",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "B",
          "problem_id": 13355,
          "problem_name": "Bless You Autocorrect!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "breadth-first search",
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "C",
          "problem_id": 13356,
          "problem_name": "Card Hand Sorting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "dynamic programming",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "bruteforcing",
            "dp",
            "lis"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "D",
          "problem_id": 13357,
          "problem_name": "Daydreaming Stockbroker",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "E",
          "problem_id": 13358,
          "problem_name": "Exponial",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "prime factorization",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "prime_factorization",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "F",
          "problem_id": 13359,
          "problem_name": "Fleecing the Raffle",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "G",
          "problem_id": 13360,
          "problem_name": "Game Rank",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "H",
          "problem_id": 13361,
          "problem_name": "최고인 대장장이 토르비욘",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "disjoint set",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "disjoint_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "I",
          "problem_id": 13362,
          "problem_name": "Interception",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "data structures",
            "greedy",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "J",
          "problem_id": 13363,
          "problem_name": "Jumbled Compass",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1530,
          "problem_letter": "K",
          "problem_id": 13364,
          "problem_name": "Keeping the Dogs Apart",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "two-pointer"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1531,
      "contest_name": "Thailand Central Group-A Programming Contest 2016",
      "contest_full_name": "Thailand Central Group-A Programming Contest 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Thailand Central Group-A Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1531,
          "problem_letter": "A",
          "problem_id": 13365,
          "problem_name": "Jumping Worm",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "dial"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "dial"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dial",
              "name": "dial",
              "boj_tag_id": 224
            }
          ]
        },
        {
          "contest_id": 1531,
          "problem_letter": "B",
          "problem_id": 13366,
          "problem_name": "Math Contest",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "number theory",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1531,
          "problem_letter": "C",
          "problem_id": 13367,
          "problem_name": "Weeping Fig",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "stoer–wagner"
          ],
          "tag_keys": [
            "graphs",
            "stoer_wagner"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "stoer_wagner",
              "name": "stoer–wagner",
              "boj_tag_id": 75
            }
          ]
        },
        {
          "contest_id": 1531,
          "problem_letter": "D",
          "problem_id": 13368,
          "problem_name": "Cocktail Shaker Sort",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1531,
          "problem_letter": "E",
          "problem_id": 13369,
          "problem_name": "The Escape",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1531,
          "problem_letter": "F",
          "problem_id": 13370,
          "problem_name": "Carrot Farm",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1531,
          "problem_letter": "G",
          "problem_id": 13371,
          "problem_name": "Dolphin",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "binary search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1531,
          "problem_letter": "H",
          "problem_id": 13372,
          "problem_name": "Glass Bridge",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1531,
          "problem_letter": "I",
          "problem_id": 13373,
          "problem_name": "Rearrange",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1531,
          "problem_letter": "J",
          "problem_id": 13374,
          "problem_name": "Cyclic Triangle",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1531,
          "problem_letter": "K",
          "problem_id": 13375,
          "problem_name": "Organization",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1531,
          "problem_letter": "L",
          "problem_id": 13376,
          "problem_name": "Rune",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "sorting",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "sorting",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1532,
      "contest_name": "2015 ACM-ICPC Thailand National Programming Contest ",
      "contest_full_name": "2015 ACM-ICPC Thailand National Programming Contest ",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand > Asia Thailand National Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1532,
          "problem_letter": "A",
          "problem_id": 13377,
          "problem_name": "Dictionary",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "precomputation"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "B",
          "problem_id": 13378,
          "problem_name": "Dungeon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1532,
          "problem_letter": "C",
          "problem_id": 13379,
          "problem_name": "Far Far Away",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "D",
          "problem_id": 13380,
          "problem_name": "Found",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "graph theory",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "E",
          "problem_id": 13381,
          "problem_name": "Jump",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1532,
          "problem_letter": "F",
          "problem_id": 13382,
          "problem_name": "Lab",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "G",
          "problem_id": 13383,
          "problem_name": "Oil",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "depth-first search",
            "disjoint set",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "dfs",
            "disjoint_set",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "H",
          "problem_id": 13384,
          "problem_name": "Pry Sequence Transformation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1532,
          "problem_letter": "I",
          "problem_id": 13385,
          "problem_name": "Square",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "J",
          "problem_id": 13386,
          "problem_name": "Tree Count",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "tree",
            "set / map",
            "set / map by hashing",
            "tree isomorphism"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "set",
            "hash_set",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "K",
          "problem_id": 13387,
          "problem_name": "Water Pump",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "disjoint set",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "disjoint_set",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1532,
          "problem_letter": "L",
          "problem_id": 13388,
          "problem_name": "Who Feels Lucky",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1533,
      "contest_name": "Asia Regional Contest 2016 in Tsukuba",
      "contest_full_name": "Asia Regional Contest 2016 in Tsukuba",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1533,
          "problem_letter": "A",
          "problem_id": 13399,
          "problem_name": "Rearranging a Sequence",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures"
          ],
          "tag_keys": [
            "implementation",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "B",
          "problem_id": 13400,
          "problem_name": "Quality of Check Digits",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "C",
          "problem_id": 13401,
          "problem_name": "Distribution Center",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "D",
          "problem_id": 13402,
          "problem_name": "Hidden Anagrams",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by trees",
            "hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "tree_set",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "E",
          "problem_id": 13403,
          "problem_name": "Infallibly Crack Perplexing Cryptarithm",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bruteforcing",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "F",
          "problem_id": 13404,
          "problem_name": "Three Kingdoms of Bourdelot",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "greedy",
            "bruteforcing",
            "graph traversal",
            "shortest path",
            "depth-first search",
            "directed acyclic graph",
            "topological sorting",
            "floyd–warshall",
            "bit set"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "bruteforcing",
            "graph_traversal",
            "shortest_path",
            "dfs",
            "dag",
            "topological_sorting",
            "floyd_warshall",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "G",
          "problem_id": 13405,
          "problem_name": "Placing Medals on a Binary Tree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "data structures",
            "greedy",
            "set / map by hashing",
            "mathematics",
            "number theory",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "bitmask",
            "data_structures",
            "greedy",
            "hash_set",
            "math",
            "number_theory",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "H",
          "problem_id": 13406,
          "problem_name": "Animal Companion in Maze",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "strongly connected component",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "graphs",
            "scc",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "I",
          "problem_id": 13407,
          "problem_name": "Skinny Polygon",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "constructive",
            "extended euclidean algorithm",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "constructive",
            "extended_euclidean",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "J",
          "problem_id": 13408,
          "problem_name": "Cover the Polygon with Your Disk",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "calculus",
            "case work",
            "geometry",
            "heuristics",
            "implementation",
            "mathematics",
            "numerical analysis",
            "ternary search"
          ],
          "tag_keys": [
            "calculus",
            "case_work",
            "geometry",
            "heuristics",
            "implementation",
            "math",
            "numerical_analysis",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "numerical_analysis",
              "name": "numerical analysis",
              "boj_tag_id": 122
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1533,
          "problem_letter": "K",
          "problem_id": 13409,
          "problem_name": "Black and White Boxes",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "game theory",
            "meet in the middle",
            "hackenbush"
          ],
          "tag_keys": [
            "game_theory",
            "mitm",
            "hackenbush"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "hackenbush",
              "name": "hackenbush",
              "boj_tag_id": 205
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1534,
      "contest_name": "TOPC 2016",
      "contest_full_name": "TOPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1534,
          "problem_letter": "A",
          "problem_id": 13449,
          "problem_name": "Alan Turing",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "simulation",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "B",
          "problem_id": 13450,
          "problem_name": "László Babai",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "graph theory",
            "ad-hoc"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "C",
          "problem_id": 13451,
          "problem_name": "Stephen Cook",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "string",
            "bitmask",
            "parsing",
            "game theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "string",
            "bitmask",
            "parsing",
            "game_theory",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "D",
          "problem_id": 13452,
          "problem_name": "Edsger Dijkstra",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "string",
            "ad-hoc",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "ad_hoc",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "E",
          "problem_id": 13453,
          "problem_name": "Jack Edmonds",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "data structures",
            "segment tree",
            "sweeping",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "segtree",
            "sweeping",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "F",
          "problem_id": 13454,
          "problem_name": "Robert Floyd",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "geometry",
            "planar graph",
            "euler characteristic (χ=v-e+f)"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "planar_graph",
            "euler_characteristic"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "G",
          "problem_id": 13455,
          "problem_name": "Kurt Gödel",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "set / map",
            "modular multiplicative inverse",
            "meet in the middle"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "set",
            "modular_multiplicative_inverse",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "H",
          "problem_id": 13456,
          "problem_name": "Richard Hamming",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1534,
          "problem_letter": "I",
          "problem_id": 13457,
          "problem_name": "Oracle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1535,
      "contest_name": "BAPC 2016",
      "contest_full_name": "BAPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1535,
          "problem_letter": "A",
          "problem_id": 13461,
          "problem_name": "Airport Logistics",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "calculus",
            "dijkstra's",
            "geometry",
            "graph theory",
            "mathematics",
            "shortest path"
          ],
          "tag_keys": [
            "calculus",
            "dijkstra",
            "geometry",
            "graphs",
            "math",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "B",
          "problem_id": 13462,
          "problem_name": "Battle Simulation",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "C",
          "problem_id": 13463,
          "problem_name": "Brexit",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "D",
          "problem_id": 13464,
          "problem_name": "Bridge Automation",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "E",
          "problem_id": 13465,
          "problem_name": "Charles in Charge",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "parametric search"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "F",
          "problem_id": 13466,
          "problem_name": "Endless Turning",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "G",
          "problem_id": 13467,
          "problem_name": "Manhattan Positioning System",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "H",
          "problem_id": 13468,
          "problem_name": "Multiplying Digits",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "I",
          "problem_id": 13469,
          "problem_name": "Older Brother",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "J",
          "problem_id": 13470,
          "problem_name": "Programming Tutors",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "parametric search",
            "bipartite matching"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "K",
          "problem_id": 13471,
          "problem_name": "Safe Racing",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1535,
          "problem_letter": "L",
          "problem_id": 13472,
          "problem_name": "Sticky Situation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1536,
      "contest_name": "NEERC Northern Subregional 2016",
      "contest_full_name": "NEERC Northern Subregional 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1536,
          "problem_letter": "A",
          "problem_id": 13473,
          "problem_name": "Anniversary Cake",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "geometry",
            "constructive"
          ],
          "tag_keys": [
            "geometry",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "B",
          "problem_id": 13474,
          "problem_name": "Boys and Girls",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "case work",
            "constructive"
          ],
          "tag_keys": [
            "case_work",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "C",
          "problem_id": 13475,
          "problem_name": "CodeCoder vs TopForces",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "sorting"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "D",
          "problem_id": 13476,
          "problem_name": "Digital Addition",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "backtracking",
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "dp",
            "dp_bitfield",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "E",
          "problem_id": 13477,
          "problem_name": "Easy Reading",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "two-pointer",
            "hashing"
          ],
          "tag_keys": [
            "two_pointer",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "F",
          "problem_id": 13478,
          "problem_name": "Folding",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "G",
          "problem_id": 13479,
          "problem_name": "Gangsters in Central City",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "prefix sum",
            "lowest common ancestor",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "prefix_sum",
            "lca",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "H",
          "problem_id": 13480,
          "problem_name": "Hard Cuts",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "backtracking",
            "divide and conquer",
            "dynamic programming",
            "geometry",
            "precomputation"
          ],
          "tag_keys": [
            "backtracking",
            "divide_and_conquer",
            "dp",
            "geometry",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "I",
          "problem_id": 13481,
          "problem_name": "Integral Polygons",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "prefix sum",
            "parity"
          ],
          "tag_keys": [
            "geometry",
            "prefix_sum",
            "parity"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "J",
          "problem_id": 13482,
          "problem_name": "Java2016",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive",
            "bitmask",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive",
            "bitmask",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1536,
          "problem_letter": "K",
          "problem_id": 13483,
          "problem_name": "King’s Heir",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1540,
      "contest_name": "The 2009 ACM-ICPC Asia Amritapuri Regional Contest",
      "contest_full_name": "The 2009 ACM-ICPC Asia Amritapuri Regional Contest",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia West Continent > India",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1540,
          "problem_letter": "A",
          "problem_id": 30123,
          "problem_name": "Geometry Problem",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1540,
          "problem_letter": "B",
          "problem_id": 18256,
          "problem_name": "Interleaved Periodic String",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1540,
          "problem_letter": "C",
          "problem_id": 30124,
          "problem_name": "Lap time in a racing circuit",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1540,
          "problem_letter": "D",
          "problem_id": 30125,
          "problem_name": "Lattice Squares",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1540,
          "problem_letter": "E",
          "problem_id": 30126,
          "problem_name": "Trip Compulsion",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1540,
          "problem_letter": "F",
          "problem_id": 18255,
          "problem_name": "Visible Lattice",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1540,
          "problem_letter": "G",
          "problem_id": 13504,
          "problem_name": "XOR 합",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "tree",
            "prefix sum",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "prefix_sum",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1540,
          "problem_letter": "H",
          "problem_id": 18257,
          "problem_name": "Find The Number",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "binary search",
            "euclidean algorithm",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "binary_search",
            "euclidean",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 1540,
          "problem_letter": "I",
          "problem_id": 30127,
          "problem_name": "Love for Pizza",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "data structures",
            "sorting",
            "geometry",
            "prefix sum",
            "angle sorting",
            "maximum subarray"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "sorting",
            "geometry",
            "prefix_sum",
            "angle_sorting",
            "maximum_subarray"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            },
            {
              "key": "maximum_subarray",
              "name": "maximum subarray",
              "boj_tag_id": 234
            }
          ]
        },
        {
          "contest_id": 1540,
          "problem_letter": "J",
          "problem_id": 30128,
          "problem_name": "Succession",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1542,
      "contest_name": "UKIEPC 2016",
      "contest_full_name": "UKIEPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1542,
          "problem_letter": "A",
          "problem_id": 13520,
          "problem_name": "Taxing Problem",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "binary search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "B",
          "problem_id": 13521,
          "problem_name": "Build a Boat",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1542,
          "problem_letter": "C",
          "problem_id": 13522,
          "problem_name": "Compiler",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "backtracking",
            "bruteforcing",
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "backtracking",
            "bruteforcing",
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "D",
          "problem_id": 13523,
          "problem_name": "The Darkness",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "E",
          "problem_id": 13524,
          "problem_name": "Elegant Showroom",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "F",
          "problem_id": 13525,
          "problem_name": "Fridge",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "G",
          "problem_id": 13526,
          "problem_name": "Gondolas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1542,
          "problem_letter": "H",
          "problem_id": 13527,
          "problem_name": "Rhyming Slang",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "I",
          "problem_id": 13528,
          "problem_name": "Grass Seed Inc.",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "J",
          "problem_id": 13529,
          "problem_name": "Jack and the Beanbag",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1542,
          "problem_letter": "K",
          "problem_id": 13530,
          "problem_name": "Compensation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1542,
          "problem_letter": "L",
          "problem_id": 13531,
          "problem_name": "Secret Santa",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1544,
      "contest_name": "Asia Regional - Daejeon 2016",
      "contest_full_name": "Asia Regional - Daejeon 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1544,
          "problem_letter": "A",
          "problem_id": 13559,
          "problem_name": "Bridge Park",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "disjoint set",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "dp",
            "dp_tree",
            "graphs",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1544,
          "problem_letter": "B",
          "problem_id": 13560,
          "problem_name": "축구 게임",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "graph theory",
            "greedy",
            "sorting",
            "degree sequence"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "greedy",
            "sorting",
            "degree_sequence"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "degree_sequence",
              "name": "degree sequence",
              "boj_tag_id": 200
            }
          ]
        },
        {
          "contest_id": 1544,
          "problem_letter": "C",
          "problem_id": 13561,
          "problem_name": "House Rental",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "two-pointer"
          ],
          "tag_keys": [
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1544,
          "problem_letter": "D",
          "problem_id": 13562,
          "problem_name": "Independent Edges",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1544,
          "problem_letter": "E",
          "problem_id": 13563,
          "problem_name": "Memory Cell",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1544,
          "problem_letter": "F",
          "problem_id": 13564,
          "problem_name": "Meteorites",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1544,
          "problem_letter": "G",
          "problem_id": 13565,
          "problem_name": "침투",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1544,
          "problem_letter": "H",
          "problem_id": 13566,
          "problem_name": "Power Supply",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1544,
          "problem_letter": "I",
          "problem_id": 13567,
          "problem_name": "로봇",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1544,
          "problem_letter": "J",
          "problem_id": 13568,
          "problem_name": "Room",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1544,
          "problem_letter": "K",
          "problem_id": 13569,
          "problem_name": "Rounding",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "maximum flow",
            "circulation"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "circulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            }
          ]
        },
        {
          "contest_id": 1544,
          "problem_letter": "L",
          "problem_id": 13570,
          "problem_name": "Virus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1545,
      "contest_name": "A Primeira Fase da Maratona de Programação 2016",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1545,
          "problem_letter": "A",
          "problem_id": 13580,
          "problem_name": "Andando no tempo",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1545,
          "problem_letter": "B",
          "problem_id": 13581,
          "problem_name": "Batata quente",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1545,
          "problem_letter": "C",
          "problem_id": 13582,
          "problem_name": "Containers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1545,
          "problem_letter": "D",
          "problem_id": 13583,
          "problem_name": "Divisores",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "mathematics",
            "number theory",
            "primality test",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "math",
            "number_theory",
            "primality_test",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1545,
          "problem_letter": "E",
          "problem_id": 13584,
          "problem_name": "Estatística hexa",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1545,
          "problem_letter": "F",
          "problem_id": 13585,
          "problem_name": "Fundindo árvores",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1545,
          "problem_letter": "G",
          "problem_id": 13586,
          "problem_name": "Go--",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1545,
          "problem_letter": "H",
          "problem_id": 13587,
          "problem_name": "huaauhahhuahau",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1545,
          "problem_letter": "I",
          "problem_id": 13588,
          "problem_name": "Isósceles",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1545,
          "problem_letter": "J",
          "problem_id": 13589,
          "problem_name": "Jogos olímpicos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1545,
          "problem_letter": "K",
          "problem_id": 13590,
          "problem_name": "Kit de encolhimento de polígonos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1545,
          "problem_letter": "L",
          "problem_id": 13591,
          "problem_name": "Ladrilhos",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1546,
      "contest_name": "A Primeira Fase da Maratona de Programação 2015",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1546,
          "problem_letter": "A",
          "problem_id": 13595,
          "problem_name": "Mania de Par",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "parity"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "parity"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1546,
          "problem_letter": "B",
          "problem_id": 13596,
          "problem_name": "Bolsa de Valores",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1546,
          "problem_letter": "C",
          "problem_id": 13597,
          "problem_name": "Tri-du",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1546,
          "problem_letter": "D",
          "problem_id": 13598,
          "problem_name": "Quebra-cabeça",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1546,
          "problem_letter": "E",
          "problem_id": 13599,
          "problem_name": "Espiral",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1546,
          "problem_letter": "F",
          "problem_id": 13600,
          "problem_name": "Fatorial",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1546,
          "problem_letter": "G",
          "problem_id": 13601,
          "problem_name": "Guardiões Curiosos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1546,
          "problem_letter": "H",
          "problem_id": 13602,
          "problem_name": "Praça do Retângulo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1546,
          "problem_letter": "I",
          "problem_id": 13603,
          "problem_name": "Ominobox",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1546,
          "problem_letter": "J",
          "problem_id": 13604,
          "problem_name": "Jogo de Estratégia",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1546,
          "problem_letter": "K",
          "problem_id": 13605,
          "problem_name": "Palíndromo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1546,
          "problem_letter": "L",
          "problem_id": 13606,
          "problem_name": "Loteria",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1547,
      "contest_name": "A Primeira Fase da Maratona de Programação 2014",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1547,
          "problem_letter": "A",
          "problem_id": 13610,
          "problem_name": "Volta",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "B",
          "problem_id": 13611,
          "problem_name": "Baralho Embaralhado",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "C",
          "problem_id": 13612,
          "problem_name": "Confederaćão",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bitmask",
            "data structures",
            "geometry",
            "geometry; 3d",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "bitmask",
            "data_structures",
            "geometry",
            "geometry_3d",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "D",
          "problem_id": 13613,
          "problem_name": "Dona Minhoca",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "depth-first search",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "dfs",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "E",
          "problem_id": 13614,
          "problem_name": "Ecologia",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "data structures",
            "bruteforcing",
            "sorting",
            "ad-hoc",
            "set / map",
            "prefix sum",
            "bitmask",
            "set / map by hashing",
            "dynamic programming using bitfield",
            "recursion",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "bruteforcing",
            "sorting",
            "ad_hoc",
            "set",
            "prefix_sum",
            "bitmask",
            "hash_set",
            "dp_bitfield",
            "recursion",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "F",
          "problem_id": 13615,
          "problem_name": "Teletransporte",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "G",
          "problem_id": 13616,
          "problem_name": "Letras",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "H",
          "problem_id": 13617,
          "problem_name": "Handebol",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "I",
          "problem_id": 13618,
          "problem_name": "RSA",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "euler totient function",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "euler_phi",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "J",
          "problem_id": 13619,
          "problem_name": "Corte",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1547,
          "problem_letter": "K",
          "problem_id": 13620,
          "problem_name": "Pizza do Vô Pepe",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1548,
      "contest_name": "A Primeira Fase da Maratona de Programação 2013",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1548,
          "problem_letter": "A",
          "problem_id": 13623,
          "problem_name": "Zero or One",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "B",
          "problem_id": 13624,
          "problem_name": "Balloon",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "set / map",
            "sweeping",
            "disjoint set",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "set",
            "sweeping",
            "disjoint_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "C",
          "problem_id": 13625,
          "problem_name": "Boss",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "D",
          "problem_id": 13626,
          "problem_name": "Folding Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1548,
          "problem_letter": "E",
          "problem_id": 13627,
          "problem_name": "Dangerous Dive",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "F",
          "problem_id": 13628,
          "problem_name": "Triangles",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "geometry",
            "implementation",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "implementation",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "G",
          "problem_id": 13629,
          "problem_name": "Lines of Containers",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "sorting",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "H",
          "problem_id": 13630,
          "problem_name": "Buses",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "combinatorics",
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1548,
          "problem_letter": "I",
          "problem_id": 13631,
          "problem_name": "Patches",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1548,
          "problem_letter": "J",
          "problem_id": 13632,
          "problem_name": "Trucks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1549,
      "contest_name": "A Primeira Fase da Maratona de Programação 2012",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1549,
          "problem_letter": "A",
          "problem_id": 13635,
          "problem_name": "Concurso de Contos",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "B",
          "problem_id": 13636,
          "problem_name": "Tobogan de bolinhas",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "C",
          "problem_id": 13637,
          "problem_name": "Cartões",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "D",
          "problem_id": 13638,
          "problem_name": "Coral Perfeito",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "E",
          "problem_id": 13639,
          "problem_name": "Elevador Espacial",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "F",
          "problem_id": 13640,
          "problem_name": "Perdido na Noite",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "lowest common ancestor",
            "mathematics",
            "probability theory",
            "tree"
          ],
          "tag_keys": [
            "lca",
            "math",
            "probability",
            "trees"
          ],
          "tag_details": [
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "G",
          "problem_id": 13641,
          "problem_name": "Grid de Largada",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "H",
          "problem_id": 13642,
          "problem_name": "Combate ao câncer",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "tree",
            "tree isomorphism"
          ],
          "tag_keys": [
            "trees",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "I",
          "problem_id": 13643,
          "problem_name": "Integral",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "case work",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "case_work",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "J",
          "problem_id": 13644,
          "problem_name": "Palavras",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "K",
          "problem_id": 13645,
          "problem_name": "Ciclo de Rubik",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1549,
          "problem_letter": "L",
          "problem_id": 13646,
          "problem_name": "Estrela",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1550,
      "contest_name": "A Primeira Fase da Maratona de Programação 2011",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1550,
          "problem_letter": "A",
          "problem_id": 13649,
          "problem_name": "Ácido Ribonucléico Alienígena",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1550,
          "problem_letter": "B",
          "problem_id": 13650,
          "problem_name": "Botas perdidas",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures"
          ],
          "tag_keys": [
            "implementation",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 1550,
          "problem_letter": "C",
          "problem_id": 13651,
          "problem_name": "Campeonato de SMS",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1550,
          "problem_letter": "D",
          "problem_id": 13652,
          "problem_name": "Desvio de rua",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1550,
          "problem_letter": "E",
          "problem_id": 13653,
          "problem_name": "Estacionamento",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1550,
          "problem_letter": "F",
          "problem_id": 13654,
          "problem_name": "Foco",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1550,
          "problem_letter": "G",
          "problem_id": 13655,
          "problem_name": "Guarda Costeira",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1550,
          "problem_letter": "H",
          "problem_id": 13656,
          "problem_name": "Homem, Elefante e Rato",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1550,
          "problem_letter": "I",
          "problem_id": 13657,
          "problem_name": "Incidente em Atlântida",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1551,
      "contest_name": "A Primeira Fase da Maratona de Programação 2010",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1551,
          "problem_letter": "A",
          "problem_id": 13658,
          "problem_name": "Revisão de Contrato",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1551,
          "problem_letter": "B",
          "problem_id": 13659,
          "problem_name": "Robô Colecionador",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1551,
          "problem_letter": "C",
          "problem_id": 13660,
          "problem_name": "Livro-caixa",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1551,
          "problem_letter": "D",
          "problem_id": 13661,
          "problem_name": "Desvio de Rota",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1551,
          "problem_letter": "E",
          "problem_id": 13662,
          "problem_name": "Elevador",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1551,
          "problem_letter": "F",
          "problem_id": 13663,
          "problem_name": "Fórmula 1",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1551,
          "problem_letter": "G",
          "problem_id": 13664,
          "problem_name": "Guerra nas estrelas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1551,
          "problem_letter": "H",
          "problem_id": 13665,
          "problem_name": "Plágio Musical",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1551,
          "problem_letter": "I",
          "problem_id": 13666,
          "problem_name": "Ir e Vir",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 1551,
          "problem_letter": "J",
          "problem_id": 13667,
          "problem_name": "Leitura Ótica",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1551,
          "problem_letter": "K",
          "problem_id": 13668,
          "problem_name": "Jogo da Velha",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1552,
      "contest_name": "A Primeira Fase da Maratona de Programação 2009",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1552,
          "problem_letter": "A",
          "problem_id": 13669,
          "problem_name": "Ataque Fulminante",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "case work",
            "boolean operations on geometric objects"
          ],
          "tag_keys": [
            "geometry",
            "case_work",
            "geometric_boolean_operations"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            }
          ]
        },
        {
          "contest_id": 1552,
          "problem_letter": "B",
          "problem_id": 13670,
          "problem_name": "Alarme Despertador",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1552,
          "problem_letter": "C",
          "problem_id": 13671,
          "problem_name": "Troca de Cartas",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1552,
          "problem_letter": "D",
          "problem_id": 13672,
          "problem_name": "Sub-prime",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1552,
          "problem_letter": "E",
          "problem_id": 13673,
          "problem_name": "Dragster",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1552,
          "problem_letter": "F",
          "problem_id": 13674,
          "problem_name": "Torres de Telefonia Celular",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "geometry",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        },
        {
          "contest_id": 1552,
          "problem_letter": "G",
          "problem_id": 13675,
          "problem_name": "Registrador de Deslocamento",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1552,
          "problem_letter": "H",
          "problem_id": 13676,
          "problem_name": "Escultura a Laser",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1553,
      "contest_name": "A Primeira Fase da Maratona de Programação 2008",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1553,
          "problem_letter": "A",
          "problem_id": 13677,
          "problem_name": "Apagando e Ganhando",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "B",
          "problem_id": 13678,
          "problem_name": "Babel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1553,
          "problem_letter": "C",
          "problem_id": 13679,
          "problem_name": "O Salão do Clube",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "D",
          "problem_id": 13680,
          "problem_name": "Dama",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "E",
          "problem_id": 13681,
          "problem_name": "Bolhas e Baldes",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "sorting",
            "segment tree",
            "game theory"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "F",
          "problem_id": 13682,
          "problem_name": "Loop Musical",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "G",
          "problem_id": 13683,
          "problem_name": "Set",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "H",
          "problem_id": 13684,
          "problem_name": "Divisão da Nlogõnia",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1553,
          "problem_letter": "I",
          "problem_id": 13685,
          "problem_name": "Maior Subseqüência Crescente",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1553,
          "problem_letter": "J",
          "problem_id": 13686,
          "problem_name": "Vampiros",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "dynamic programming",
            "mathematics",
            "probability theory",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "math",
            "probability",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1554,
      "contest_name": "A Primeira Fase da Maratona de Programação 2007",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1554,
          "problem_letter": "A",
          "problem_id": 13577,
          "problem_name": "Vôlei Marciano",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1554,
          "problem_letter": "B",
          "problem_id": 13578,
          "problem_name": "Rouba-Monte",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1554,
          "problem_letter": "C",
          "problem_id": 13579,
          "problem_name": "Série de Tubos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1554,
          "problem_letter": "D",
          "problem_id": 13592,
          "problem_name": "Mário",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1554,
          "problem_letter": "E",
          "problem_id": 13593,
          "problem_name": "Histórico de Comandos",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1554,
          "problem_letter": "F",
          "problem_id": 13594,
          "problem_name": "Desempilhando Caixas",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "ad-hoc",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1554,
          "problem_letter": "G",
          "problem_id": 13607,
          "problem_name": "Onde Estão as Bolhas?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1554,
          "problem_letter": "H",
          "problem_id": 13608,
          "problem_name": "Jogo de Varetas",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1554,
          "problem_letter": "I",
          "problem_id": 13609,
          "problem_name": "Zak Galou",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1554,
          "problem_letter": "J",
          "problem_id": 13621,
          "problem_name": "Olimpíadas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1555,
      "contest_name": "A Primeira Fase da Maratona de Programação 2006",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2006",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1555,
          "problem_letter": "A",
          "problem_id": 13622,
          "problem_name": "Circuito Bioquímico Digital",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1555,
          "problem_letter": "B",
          "problem_id": 13633,
          "problem_name": "O Problema da Parada",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1555,
          "problem_letter": "C",
          "problem_id": 13634,
          "problem_name": "Países em Guerra",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1555,
          "problem_letter": "D",
          "problem_id": 13647,
          "problem_name": "Energia × Tempo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1555,
          "problem_letter": "E",
          "problem_id": 13648,
          "problem_name": "MegaDamas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "backtracking",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1555,
          "problem_letter": "F",
          "problem_id": 13687,
          "problem_name": "Copa do Mundo",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "ad-hoc",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1555,
          "problem_letter": "G",
          "problem_id": 13688,
          "problem_name": "Rota Crítica",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1555,
          "problem_letter": "H",
          "problem_id": 13689,
          "problem_name": "Amigos ou Inimigos?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1556,
      "contest_name": "A Primeira Fase da Maratona de Programação 2005",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1556,
          "problem_letter": "A",
          "problem_id": 13690,
          "problem_name": "Jogo do Bicho",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1556,
          "problem_letter": "B",
          "problem_id": 13691,
          "problem_name": "Curso Universitário",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "topological sorting",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "graphs",
            "topological_sorting",
            "dag"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 1556,
          "problem_letter": "C",
          "problem_id": 13692,
          "problem_name": "Redução de Pena",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1556,
          "problem_letter": "D",
          "problem_id": 13693,
          "problem_name": "Cubos Coloridos",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "ad-hoc",
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "ad_hoc",
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1556,
          "problem_letter": "E",
          "problem_id": 13694,
          "problem_name": "Gerente de Espaço",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1556,
          "problem_letter": "F",
          "problem_id": 13695,
          "problem_name": "Tecle & Some",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1556,
          "problem_letter": "G",
          "problem_id": 13696,
          "problem_name": "Regata de Cientistas",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1556,
          "problem_letter": "H",
          "problem_id": 13697,
          "problem_name": "Piscina",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1558,
      "contest_name": "2016 Mid-Central Regional Programming Contest",
      "contest_full_name": "2016 Mid-Central Regional Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1558,
          "problem_letter": "A",
          "problem_id": 13731,
          "problem_name": "As Easy as CAB",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "string",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "B",
          "problem_id": 13732,
          "problem_name": "Falling Apples",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "C",
          "problem_id": 13733,
          "problem_name": "Square Deal",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "D",
          "problem_id": 13734,
          "problem_name": "Buggy Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "E",
          "problem_id": 13735,
          "problem_name": "Construction Toy",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "F",
          "problem_id": 13736,
          "problem_name": "Around and Around We Go",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1558,
          "problem_letter": "G",
          "problem_id": 13737,
          "problem_name": "The Calculus of Ada",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "H",
          "problem_id": 13738,
          "problem_name": "Ghostbusters 2",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "binary search",
            "parametric search",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "parametric_search",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "I",
          "problem_id": 13739,
          "problem_name": "Postal Delivery",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "implementation",
            "simulation",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "implementation",
            "simulation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1558,
          "problem_letter": "J",
          "problem_id": 13740,
          "problem_name": "Windy Path",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "constructive",
            "geometry",
            "greedy"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "geometry",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1559,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2016 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1559,
          "problem_letter": "A",
          "problem_id": 13741,
          "problem_name": "Alphabet",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "string",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "string",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "B",
          "problem_id": 13742,
          "problem_name": "Base Sums",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "C",
          "problem_id": 13734,
          "problem_name": "Buggy Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "D",
          "problem_id": 13743,
          "problem_name": "Enclosure",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1559,
          "problem_letter": "E",
          "problem_id": 13744,
          "problem_name": "Illumination",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "F",
          "problem_id": 13745,
          "problem_name": "InTents",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1559,
          "problem_letter": "G",
          "problem_id": 13746,
          "problem_name": "Islands",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "H",
          "problem_id": 13747,
          "problem_name": "Paint",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "data structures"
          ],
          "tag_keys": [
            "dp",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "I",
          "problem_id": 13748,
          "problem_name": "Periodic Strings",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "J",
          "problem_id": 13749,
          "problem_name": "Water",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1559,
          "problem_letter": "K",
          "problem_id": 13750,
          "problem_name": "Zigzag",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1560,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2016 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1560,
          "problem_letter": "A",
          "problem_id": 13751,
          "problem_name": "Barbells",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "B",
          "problem_id": 13734,
          "problem_name": "Buggy Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "C",
          "problem_id": 13731,
          "problem_name": "As Easy as CAB",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "string",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "D",
          "problem_id": 13732,
          "problem_name": "Falling Apples",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "E",
          "problem_id": 13752,
          "problem_name": "히스토그램",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "F",
          "problem_id": 13746,
          "problem_name": "Islands",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "G",
          "problem_id": 13753,
          "problem_name": "Project Panoptes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1560,
          "problem_letter": "H",
          "problem_id": 13748,
          "problem_name": "Periodic Strings",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "I",
          "problem_id": 13754,
          "problem_name": "Mismatched Socks",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "J",
          "problem_id": 13755,
          "problem_name": "It Takes Three",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1560,
          "problem_letter": "K",
          "problem_id": 13750,
          "problem_name": "Zigzag",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1561,
      "contest_name": "2015 ACM South Pacific Programming Contest",
      "contest_full_name": "2015 ACM South Pacific Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1561,
          "problem_letter": "A",
          "problem_id": 13760,
          "problem_name": "Appropriate Coordinate Map",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1561,
          "problem_letter": "B",
          "problem_id": 13761,
          "problem_name": "Banking II",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1561,
          "problem_letter": "C",
          "problem_id": 13762,
          "problem_name": "Calculating Taxes",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "set / map",
            "dynamic programming on trees",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "set",
            "dp_tree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1561,
          "problem_letter": "D",
          "problem_id": 13763,
          "problem_name": "Dropped Water Bottle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1561,
          "problem_letter": "E",
          "problem_id": 13764,
          "problem_name": "Earl’s Extremely Efficient Encryption",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1561,
          "problem_letter": "F",
          "problem_id": 13765,
          "problem_name": "Flipping Switches",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1561,
          "problem_letter": "G",
          "problem_id": 13766,
          "problem_name": "Game Moves",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1561,
          "problem_letter": "H",
          "problem_id": 13767,
          "problem_name": "Hiking",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "grid graph",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "grid_graph",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1561,
          "problem_letter": "I",
          "problem_id": 13768,
          "problem_name": "Individually Customised Pop-up Cards",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1561,
          "problem_letter": "J",
          "problem_id": 13769,
          "problem_name": "Jumping Impala",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1561,
          "problem_letter": "K",
          "problem_id": 13770,
          "problem_name": "Krypton Stadiums",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1562,
      "contest_name": "NZPC 2016",
      "contest_full_name": "NZPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 1562,
          "problem_letter": "A",
          "problem_id": 13771,
          "problem_name": "Presents",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "B",
          "problem_id": 13772,
          "problem_name": "Holes",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "C",
          "problem_id": 13773,
          "problem_name": "Olympic Games",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "D",
          "problem_id": 13774,
          "problem_name": "Palindromes",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "E",
          "problem_id": 13775,
          "problem_name": "Virus",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "F",
          "problem_id": 13776,
          "problem_name": "Alpha Puzzle",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "G",
          "problem_id": 13777,
          "problem_name": "Hunt The Rabbit",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "binary search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "H",
          "problem_id": 13778,
          "problem_name": "Parliamentary Rankings",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "I",
          "problem_id": 13779,
          "problem_name": "Obfustication",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1562,
          "problem_letter": "J",
          "problem_id": 13780,
          "problem_name": "Rasterization",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1562,
          "problem_letter": "K",
          "problem_id": 13781,
          "problem_name": "IK Robot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1562,
          "problem_letter": "L",
          "problem_id": 13782,
          "problem_name": "Pokemon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1562,
          "problem_letter": "M",
          "problem_id": 13783,
          "problem_name": "Hashing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1562,
          "problem_letter": "N",
          "problem_id": 13784,
          "problem_name": "What Next",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1562,
          "problem_letter": "O",
          "problem_id": 13785,
          "problem_name": "The Resistance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1562,
          "problem_letter": "P",
          "problem_id": 13786,
          "problem_name": "Rtetris",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1571,
      "contest_name": "SEERC 2016",
      "contest_full_name": "SEERC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1571,
          "problem_letter": "A",
          "problem_id": 13855,
          "problem_name": "Three Squares",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "backtracking",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "backtracking",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "B",
          "problem_id": 13856,
          "problem_name": "Favorite music",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1571,
          "problem_letter": "C",
          "problem_id": 13857,
          "problem_name": "Castle",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "knuth–morris–pratt",
            "string"
          ],
          "tag_keys": [
            "kmp",
            "string"
          ],
          "tag_details": [
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "D",
          "problem_id": 13858,
          "problem_name": "Reading Digits",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "E",
          "problem_id": 13859,
          "problem_name": "Exam",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1571,
          "problem_letter": "F",
          "problem_id": 13860,
          "problem_name": "Letters",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "string"
          ],
          "tag_keys": [
            "math",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "G",
          "problem_id": 13861,
          "problem_name": "Pokemons",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "H",
          "problem_id": 13862,
          "problem_name": "Pub crawl",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "constructive",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "constructive",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "I",
          "problem_id": 13863,
          "problem_name": "Cubes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing",
            "backtracking",
            "two-pointer"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set",
            "backtracking",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "J",
          "problem_id": 13864,
          "problem_name": "Marathon",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1571,
          "problem_letter": "K",
          "problem_id": 13865,
          "problem_name": "Cutting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1572,
      "contest_name": "Latin America Regional Contests 2016",
      "contest_full_name": "Latin America Regional Contests 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1572,
          "problem_letter": "A",
          "problem_id": 13866,
          "problem_name": "팀 나누기",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "B",
          "problem_id": 13867,
          "problem_name": "Back to the Future",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "C",
          "problem_id": 13868,
          "problem_name": "Counting Self-Rotating Subsets",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "data structures",
            "geometry",
            "set / map",
            "combinatorics",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "geometry",
            "set",
            "combinatorics",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "D",
          "problem_id": 13869,
          "problem_name": "Dating On-Line",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "greedy",
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "E",
          "problem_id": 13870,
          "problem_name": "Emission Spectrum",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "F",
          "problem_id": 13871,
          "problem_name": "Farm robot",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "G",
          "problem_id": 13872,
          "problem_name": "Game of Matchings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "hashing",
            "knuth–morris–pratt",
            "string"
          ],
          "tag_keys": [
            "hashing",
            "kmp",
            "string"
          ],
          "tag_details": [
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "H",
          "problem_id": 13873,
          "problem_name": "Hotel Rewards",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "I",
          "problem_id": 13874,
          "problem_name": "Internet Trouble",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull trick",
            "dynamic programming"
          ],
          "tag_keys": [
            "cht",
            "dp"
          ],
          "tag_details": [
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "J",
          "problem_id": 13875,
          "problem_name": "Just in Time",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 1572,
          "problem_letter": "K",
          "problem_id": 13876,
          "problem_name": "Kill the Werewolf",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1573,
      "contest_name": "2016 Greater New York Programming Contest",
      "contest_full_name": "2016 Greater New York Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1573,
          "problem_letter": "A",
          "problem_id": 13877,
          "problem_name": "이건 무슨 진법이지?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "B",
          "problem_id": 13878,
          "problem_name": "FBI Universal Control Numbers",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "C",
          "problem_id": 13879,
          "problem_name": "m-ary Partitions",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "D",
          "problem_id": 13880,
          "problem_name": "A Rational Sequence (Take 3)",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "implementation",
            "recursion",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "recursion",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "E",
          "problem_id": 13881,
          "problem_name": "Permutation Descent Counts",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "F",
          "problem_id": 13882,
          "problem_name": "Tight-Fit Sudoku",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "G",
          "problem_id": 13883,
          "problem_name": "Magical Mystery Knight’s Tour",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1573,
          "problem_letter": "H",
          "problem_id": 13884,
          "problem_name": "삭삽 정렬",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1573,
          "problem_letter": "I",
          "problem_id": 13885,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1573,
          "problem_letter": "J",
          "problem_id": 13886,
          "problem_name": "Smoothed Gardens",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1574,
      "contest_name": "2016 ACM-ICPC Asia-Bangkok Regional Contest",
      "contest_full_name": "2016 ACM-ICPC Asia-Bangkok Regional Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Thailand",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1574,
          "problem_letter": "A",
          "problem_id": 13888,
          "problem_name": "WSI Extreme",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "B",
          "problem_id": 13889,
          "problem_name": "Average",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "fermat's little theorem",
            "inclusion and exclusion",
            "mathematics",
            "number theory",
            "prefix sum"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "flt",
            "inclusion_and_exclusion",
            "math",
            "number_theory",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "C",
          "problem_id": 13890,
          "problem_name": "Big Bang",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "möbius inversion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "mobius_inversion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "D",
          "problem_id": 13891,
          "problem_name": "Find C",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "extended euclidean algorithm",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "extended_euclidean",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "E",
          "problem_id": 13892,
          "problem_name": "ACM Tax",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "lowest common ancestor",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "lca",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "F",
          "problem_id": 13893,
          "problem_name": "Dictionary Game",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "string",
            "tree",
            "game theory",
            "trie",
            "sprague–grundy theorem",
            "hackenbush"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "game_theory",
            "trie",
            "sprague_grundy",
            "hackenbush"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            },
            {
              "key": "hackenbush",
              "name": "hackenbush",
              "boj_tag_id": 205
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "G",
          "problem_id": 13894,
          "problem_name": "Binary Strings",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "exponentiation by squaring",
            "linear algebra",
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "linear_algebra",
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "H",
          "problem_id": 13895,
          "problem_name": "Witcher Potion",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "I",
          "problem_id": 13896,
          "problem_name": "Sky Tax",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "J",
          "problem_id": 13897,
          "problem_name": "Printing Press",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "maximum flow",
            "linear programming",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "linear_programming",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1574,
          "problem_letter": "K",
          "problem_id": 13898,
          "problem_name": "Expected Number of Connected Components",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1574,
          "problem_letter": "L",
          "problem_id": 13899,
          "problem_name": "Coordinates",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1575,
      "contest_name": "CTU Open Contest 2016",
      "contest_full_name": "CTU Open Contest 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1575,
          "problem_letter": "A",
          "problem_id": 13914,
          "problem_name": "Aerial Archeology",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1575,
          "problem_letter": "B",
          "problem_id": 13915,
          "problem_name": "Hot Air Ballooning",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bitmask",
            "data structures",
            "set / map by hashing",
            "sorting",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "bitmask",
            "data_structures",
            "hash_set",
            "sorting",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1575,
          "problem_letter": "C",
          "problem_id": 13916,
          "problem_name": "Cable Connection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1575,
          "problem_letter": "D",
          "problem_id": 13917,
          "problem_name": "Rotating Display",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1575,
          "problem_letter": "F",
          "problem_id": 13918,
          "problem_name": "Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1575,
          "problem_letter": "H",
          "problem_id": 13919,
          "problem_name": "Tree Stands",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1575,
          "problem_letter": "O",
          "problem_id": 13920,
          "problem_name": "Orchard Division",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sweeping"
          ],
          "tag_keys": [
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1575,
          "problem_letter": "R",
          "problem_id": 13921,
          "problem_name": "It’s Raining, Man",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1575,
          "problem_letter": "S",
          "problem_id": 13922,
          "problem_name": "Suspicious Samples",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "set / map",
            "set / map by trees",
            "priority queue",
            "sliding window"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "tree_set",
            "priority_queue",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 1575,
          "problem_letter": "T",
          "problem_id": 13923,
          "problem_name": "오버워치 월드컵",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1578,
      "contest_name": "NWERC 2016",
      "contest_full_name": "NWERC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 1578,
          "problem_letter": "A",
          "problem_id": 13928,
          "problem_name": "Arranging Hat",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "B",
          "problem_id": 13929,
          "problem_name": "British Menu",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "depth-first search",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "strongly connected component"
          ],
          "tag_keys": [
            "dfs",
            "dp",
            "graphs",
            "graph_traversal",
            "scc"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "C",
          "problem_id": 13930,
          "problem_name": "Careful Ascent",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "D",
          "problem_id": 13931,
          "problem_name": "Driving in Optimistan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1578,
          "problem_letter": "E",
          "problem_id": 13932,
          "problem_name": "Exam Redistribution",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "F",
          "problem_id": 13933,
          "problem_name": "Free Weights",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "binary search",
            "set / map",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "set",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "G",
          "problem_id": 13934,
          "problem_name": "Gotta Nudge ’Em All",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1578,
          "problem_letter": "H",
          "problem_id": 13935,
          "problem_name": "Hamiltonian Hypercube",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bitmask",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "I",
          "problem_id": 13936,
          "problem_name": "Iron and Coal",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "J",
          "problem_id": 13937,
          "problem_name": "Jupiter Orbiter",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "maximum flow",
            "greedy",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "greedy",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "K",
          "problem_id": 13938,
          "problem_name": "Kiwi Trees",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "PA",
          "problem_id": 20353,
          "problem_name": "Atrium",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "PB",
          "problem_id": 20354,
          "problem_name": "Blackboard Reconstruction",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "constructive",
            "dynamic programming",
            "graph theory",
            "knapsack"
          ],
          "tag_keys": [
            "constructive",
            "dp",
            "graphs",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1578,
          "problem_letter": "PC",
          "problem_id": 20355,
          "problem_name": "Caesar Word Salad",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1580,
      "contest_name": "CERC 2016",
      "contest_full_name": "CERC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1580,
          "problem_letter": "A",
          "problem_id": 13945,
          "problem_name": "Appearance Analysis",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "B",
          "problem_id": 13946,
          "problem_name": "Bipartite Blanket",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "hall's theorem"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "hall"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "C",
          "problem_id": 13947,
          "problem_name": "Convex Contour",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "case work",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "case_work",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "D",
          "problem_id": 13948,
          "problem_name": "Dancing Disks",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "E",
          "problem_id": 13949,
          "problem_name": "쉬운 문제",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "number theory",
            "breadth-first search",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "number_theory",
            "bfs",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "F",
          "problem_id": 13950,
          "problem_name": "Free Figurines",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "G",
          "problem_id": 13951,
          "problem_name": "Geohash Grid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1580,
          "problem_letter": "H",
          "problem_id": 13952,
          "problem_name": "Hangar Hurdles",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "binary search",
            "prefix sum",
            "disjoint set",
            "parallel binary search"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "binary_search",
            "prefix_sum",
            "disjoint_set",
            "pbs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "pbs",
              "name": "parallel binary search",
              "boj_tag_id": 54
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "I",
          "problem_id": 13953,
          "problem_name": "Invisible Integers",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "bitmask",
            "dynamic programming"
          ],
          "tag_keys": [
            "bitmask",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "J",
          "problem_id": 13954,
          "problem_name": "Jazz Journey",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "K",
          "problem_id": 13955,
          "problem_name": "Key Knocking",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1580,
          "problem_letter": "L",
          "problem_id": 13956,
          "problem_name": "Lost Logic",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "2-sat",
            "ad-hoc",
            "constructive",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "ad_hoc",
            "constructive",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1581,
      "contest_name": "SWERC 2016",
      "contest_full_name": "SWERC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1581,
          "problem_letter": "A",
          "problem_id": 13957,
          "problem_name": "Within Arm's Reach",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "B",
          "problem_id": 13958,
          "problem_name": "Bribing Eve",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "mathematics",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "math",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "C",
          "problem_id": 13959,
          "problem_name": "Candle Box",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "D",
          "problem_id": 13960,
          "problem_name": "Dinner Bet",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "E",
          "problem_id": 13961,
          "problem_name": "Passwords",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "aho-corasick",
            "data structures",
            "dynamic programming",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "data_structures",
            "dp",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "F",
          "problem_id": 13962,
          "problem_name": "Performance Review",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "euler tour technique",
            "segment tree",
            "sorting",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "euler_tour_technique",
            "segtree",
            "sorting",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "G",
          "problem_id": 13963,
          "problem_name": "Cairo Corridor",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "H",
          "problem_id": 13964,
          "problem_name": "Pascal's Hyper-Pyramids",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "set / map",
            "combinatorics",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "set",
            "combinatorics",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "I",
          "problem_id": 13965,
          "problem_name": "The White Rabbit Pocket Watch",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "gaussian elimination",
            "graph theory",
            "linear algebra",
            "mathematics",
            "shortest path"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "graphs",
            "linear_algebra",
            "math",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "J",
          "problem_id": 13966,
          "problem_name": "Risky Lottery",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "precomputation",
            "simulated annealing"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "precomputation",
            "simulated_annealing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "simulated_annealing",
              "name": "simulated annealing",
              "boj_tag_id": 184
            }
          ]
        },
        {
          "contest_id": 1581,
          "problem_letter": "K",
          "problem_id": 13967,
          "problem_name": "Balls and Needles",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "depth-first search",
            "disjoint set",
            "geometry",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "disjoint_set",
            "geometry",
            "graphs",
            "graph_traversal",
            "hash_set",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1583,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2016 Pacific Northwest Region Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1583,
          "problem_letter": "A",
          "problem_id": 13741,
          "problem_name": "Alphabet",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "string",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "string",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "B",
          "problem_id": 13734,
          "problem_name": "Buggy Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "C",
          "problem_id": 13978,
          "problem_name": "Cameras",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sliding window"
          ],
          "tag_keys": [
            "greedy",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "D",
          "problem_id": 13979,
          "problem_name": "Contest Strategy",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "E",
          "problem_id": 13743,
          "problem_name": "Enclosure",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1583,
          "problem_letter": "F",
          "problem_id": 13744,
          "problem_name": "Illumination",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "G",
          "problem_id": 13980,
          "problem_name": "Maximum Islands",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "H",
          "problem_id": 13747,
          "problem_name": "Paint",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "data structures"
          ],
          "tag_keys": [
            "dp",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "I",
          "problem_id": 13981,
          "problem_name": "Postman",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "J",
          "problem_id": 13982,
          "problem_name": "Shopping",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "binary search",
            "offline queries",
            "sparse table",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "binary_search",
            "offline_queries",
            "sparse_table",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "K",
          "problem_id": 13983,
          "problem_name": "Tournament Wins",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1583,
          "problem_letter": "L",
          "problem_id": 13740,
          "problem_name": "Windy Path",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "constructive",
            "geometry",
            "greedy"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "geometry",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1584,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2016 Pacific Northwest Region Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1584,
          "problem_letter": "M",
          "problem_id": 13741,
          "problem_name": "Alphabet",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "string",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "string",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "N",
          "problem_id": 13751,
          "problem_name": "Barbells",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "O",
          "problem_id": 13734,
          "problem_name": "Buggy Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "P",
          "problem_id": 13978,
          "problem_name": "Cameras",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sliding window"
          ],
          "tag_keys": [
            "greedy",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "Q",
          "problem_id": 13984,
          "problem_name": "Contest Score",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "R",
          "problem_id": 13985,
          "problem_name": "Equality",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "S",
          "problem_id": 13986,
          "problem_name": "Gravity",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "T",
          "problem_id": 13746,
          "problem_name": "Islands",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "U",
          "problem_id": 13754,
          "problem_name": "Mismatched Socks",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "V",
          "problem_id": 13981,
          "problem_name": "Postman",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "W",
          "problem_id": 13987,
          "problem_name": "Six Sides",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "X",
          "problem_id": 14418,
          "problem_name": "Three Square",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1584,
          "problem_letter": "Y",
          "problem_id": 13750,
          "problem_name": "Zigzag",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1585,
      "contest_name": "NEERC 2016",
      "contest_full_name": "NEERC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1585,
          "problem_letter": "A",
          "problem_id": 13989,
          "problem_name": "Abbreviation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "B",
          "problem_id": 13990,
          "problem_name": "Binary Code",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "2-sat",
            "data structures",
            "graph theory",
            "strongly connected component",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "2_sat",
            "data_structures",
            "graphs",
            "scc",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "C",
          "problem_id": 13991,
          "problem_name": "Cactus Construction",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "cactus",
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "cactus",
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "D",
          "problem_id": 13992,
          "problem_name": "Delight for a Cat",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "E",
          "problem_id": 13993,
          "problem_name": "Expect to Wait",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "sweeping",
            "offline queries"
          ],
          "tag_keys": [
            "binary_search",
            "sweeping",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "F",
          "problem_id": 13994,
          "problem_name": "Foreign Postcards",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics",
            "prefix sum",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "prefix_sum",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "G",
          "problem_id": 13995,
          "problem_name": "Game on Graph",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "depth-first search",
            "game theory",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dfs",
            "game_theory",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "H",
          "problem_id": 13996,
          "problem_name": "Hard Refactoring",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "I",
          "problem_id": 13997,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1585,
          "problem_letter": "J",
          "problem_id": 13998,
          "problem_name": "Jenga Boom",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "physics",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "physics",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "K",
          "problem_id": 13999,
          "problem_name": "Kids Designing Kids",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "L",
          "problem_id": 14000,
          "problem_name": "List of Primes",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "primality test",
            "recursion",
            "traceback"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "primality_test",
            "recursion",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1585,
          "problem_letter": "M",
          "problem_id": 14001,
          "problem_name": "Mole Tunnels",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "tree",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "trees",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1596,
      "contest_name": "CPC 2016",
      "contest_full_name": "CPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1596,
          "problem_letter": "A",
          "problem_id": 14063,
          "problem_name": "Blokada",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "maximum flow",
            "parametric search",
            "graph theory"
          ],
          "tag_keys": [
            "binary_search",
            "flow",
            "parametric_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1596,
          "problem_letter": "B",
          "problem_id": 14064,
          "problem_name": "Caki",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1596,
          "problem_letter": "C",
          "problem_id": 14065,
          "problem_name": "Gorivo",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1596,
          "problem_letter": "D",
          "problem_id": 14066,
          "problem_name": "Kocka",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1596,
          "problem_letter": "E",
          "problem_id": 14067,
          "problem_name": "Marica",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "prefix sum",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1596,
          "problem_letter": "F",
          "problem_id": 14068,
          "problem_name": "Ograda",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1596,
          "problem_letter": "G",
          "problem_id": 14069,
          "problem_name": "Pčele",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1596,
          "problem_letter": "H",
          "problem_id": 14070,
          "problem_name": "Roj",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1596,
          "problem_letter": "I",
          "problem_id": 14071,
          "problem_name": "Rudar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1596,
          "problem_letter": "J",
          "problem_id": 14072,
          "problem_name": "Vjerojatnost",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "implementation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1597,
      "contest_name": "CPC 2015",
      "contest_full_name": "CPC 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1597,
          "problem_letter": "A",
          "problem_id": 14073,
          "problem_name": "Bitovni",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "dynamic programming",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1597,
          "problem_letter": "B",
          "problem_id": 14074,
          "problem_name": "Kratki",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "divide and conquer",
            "divide and conquer optimization",
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "divide_and_conquer_optimization",
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1597,
          "problem_letter": "C",
          "problem_id": 14075,
          "problem_name": "Luhn",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1597,
          "problem_letter": "D",
          "problem_id": 14076,
          "problem_name": "선인장 선물",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1597,
          "problem_letter": "E",
          "problem_id": 14077,
          "problem_name": "Parada",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1597,
          "problem_letter": "F",
          "problem_id": 14078,
          "problem_name": "Piramida",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1597,
          "problem_letter": "G",
          "problem_id": 14079,
          "problem_name": "R9K",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1597,
          "problem_letter": "H",
          "problem_id": 14080,
          "problem_name": "Sjeckanje",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1597,
          "problem_letter": "I",
          "problem_id": 14081,
          "problem_name": "Slika",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1597,
          "problem_letter": "J",
          "problem_id": 14082,
          "problem_name": "Tablica",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1598,
      "contest_name": "CPC 2014 - 1st Round",
      "contest_full_name": "CPC 2014 - 1st Round",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1598,
          "problem_letter": "A",
          "problem_id": 14083,
          "problem_name": "Bitstock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1598,
          "problem_letter": "B",
          "problem_id": 14084,
          "problem_name": "Četverokut",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 1598,
          "problem_letter": "C",
          "problem_id": 14085,
          "problem_name": "Dvaput",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "string",
            "two-pointer"
          ],
          "tag_keys": [
            "string",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1598,
          "problem_letter": "D",
          "problem_id": 14086,
          "problem_name": "Hyperloop",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1598,
          "problem_letter": "E",
          "problem_id": 14087,
          "problem_name": "Lijepi Putevi",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "graph traversal",
            "sorting",
            "breadth-first search",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "graph_traversal",
            "sorting",
            "bfs",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1598,
          "problem_letter": "F",
          "problem_id": 14088,
          "problem_name": "Parket",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1598,
          "problem_letter": "G",
          "problem_id": 14089,
          "problem_name": "Prosjek",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1598,
          "problem_letter": "H",
          "problem_id": 14090,
          "problem_name": "RAM",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1598,
          "problem_letter": "I",
          "problem_id": 14091,
          "problem_name": "Šetnja",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "recursion"
          ],
          "tag_keys": [
            "recursion"
          ],
          "tag_details": [
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1599,
      "contest_name": "CPC 2014 - 2nd Round",
      "contest_full_name": "CPC 2014 - 2nd Round",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1599,
          "problem_letter": "A",
          "problem_id": 14092,
          "problem_name": "Jabuka",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1599,
          "problem_letter": "B",
          "problem_id": 14093,
          "problem_name": "Lektire",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1599,
          "problem_letter": "C",
          "problem_id": 14094,
          "problem_name": "Magija",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "case work",
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "case_work",
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1599,
          "problem_letter": "D",
          "problem_id": 14095,
          "problem_name": "Novčicći",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1599,
          "problem_letter": "E",
          "problem_id": 14096,
          "problem_name": "Pečat",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1599,
          "problem_letter": "F",
          "problem_id": 14097,
          "problem_name": "Sort",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1599,
          "problem_letter": "G",
          "problem_id": 14098,
          "problem_name": "Tunel",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1599,
          "problem_letter": "H",
          "problem_id": 14099,
          "problem_name": "Velika Tablica",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1599,
          "problem_letter": "I",
          "problem_id": 14100,
          "problem_name": "XOR",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "gaussian elimination",
            "graph theory",
            "graph traversal",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "graphs",
            "graph_traversal",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1600,
      "contest_name": "CPC 2013",
      "contest_full_name": "CPC 2013",
      "contest_year": 2013,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1600,
          "problem_letter": "A",
          "problem_id": 14101,
          "problem_name": "Arhimed",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "geometry",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        },
        {
          "contest_id": 1600,
          "problem_letter": "B",
          "problem_id": 14102,
          "problem_name": "Formula",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1600,
          "problem_letter": "C",
          "problem_id": 14103,
          "problem_name": "Haker",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1600,
          "problem_letter": "D",
          "problem_id": 14104,
          "problem_name": "HNL",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "sorting",
            "set / map",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "sorting",
            "set",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1600,
          "problem_letter": "E",
          "problem_id": 14105,
          "problem_name": "Ivo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1600,
          "problem_letter": "F",
          "problem_id": 14106,
          "problem_name": "Mnogokut",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1600,
          "problem_letter": "G",
          "problem_id": 14107,
          "problem_name": "Sort",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1600,
          "problem_letter": "H",
          "problem_id": 14108,
          "problem_name": "Umnozak",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "combinatorics",
            "precomputation",
            "meet in the middle"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "precomputation",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1600,
          "problem_letter": "I",
          "problem_id": 14109,
          "problem_name": "Zvonimir",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1601,
      "contest_name": "CPC 2012",
      "contest_full_name": "CPC 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1601,
          "problem_letter": "A",
          "problem_id": 14110,
          "problem_name": "Agresor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1601,
          "problem_letter": "B",
          "problem_id": 14111,
          "problem_name": "Kreditna",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1601,
          "problem_letter": "C",
          "problem_id": 14112,
          "problem_name": "Kvadrati",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1601,
          "problem_letter": "D",
          "problem_id": 14113,
          "problem_name": "Lubenice",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1601,
          "problem_letter": "E",
          "problem_id": 14114,
          "problem_name": "Matematika",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "two-pointer"
          ],
          "tag_keys": [
            "math",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1601,
          "problem_letter": "F",
          "problem_id": 14115,
          "problem_name": "Permutacije",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1601,
          "problem_letter": "G",
          "problem_id": 14116,
          "problem_name": "Restorani",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1601,
          "problem_letter": "H",
          "problem_id": 14117,
          "problem_name": "Tartufi",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1601,
          "problem_letter": "I",
          "problem_id": 14118,
          "problem_name": "Virus",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "convex hull",
            "geometry",
            "geometry; 3d",
            "half plane intersection",
            "linear algebra",
            "line segment intersection check",
            "mathematics"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry",
            "geometry_3d",
            "half_plane_intersection",
            "linear_algebra",
            "line_intersection",
            "math"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1602,
      "contest_name": "CPC 2011",
      "contest_full_name": "CPC 2011",
      "contest_year": 2011,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1602,
          "problem_letter": "A",
          "problem_id": 14119,
          "problem_name": "Anadrom",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1602,
          "problem_letter": "B",
          "problem_id": 14120,
          "problem_name": "Banane",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "ad-hoc",
            "geometry",
            "set / map",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "ad_hoc",
            "geometry",
            "set",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1602,
          "problem_letter": "C",
          "problem_id": 14121,
          "problem_name": "Haker",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "constructive",
            "greedy",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "constructive",
            "greedy",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1602,
          "problem_letter": "D",
          "problem_id": 14122,
          "problem_name": "Izlet",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1602,
          "problem_letter": "E",
          "problem_id": 14123,
          "problem_name": "Struja",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1602,
          "problem_letter": "F",
          "problem_id": 14124,
          "problem_name": "Telefon",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1602,
          "problem_letter": "G",
          "problem_id": 14125,
          "problem_name": "삼트리스",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1602,
          "problem_letter": "H",
          "problem_id": 14126,
          "problem_name": "Vanzemaljci",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1602,
          "problem_letter": "I",
          "problem_id": 14127,
          "problem_name": "Zone",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1603,
      "contest_name": "CPC 2010",
      "contest_full_name": "CPC 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1603,
          "problem_letter": "A",
          "problem_id": 14128,
          "problem_name": "Duzžine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1603,
          "problem_letter": "B",
          "problem_id": 14129,
          "problem_name": "Kugle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1603,
          "problem_letter": "C",
          "problem_id": 14130,
          "problem_name": "Mravi",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1603,
          "problem_letter": "D",
          "problem_id": 14131,
          "problem_name": "Okret",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "tree",
            "splay tree"
          ],
          "tag_keys": [
            "trees",
            "splay_tree"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            }
          ]
        },
        {
          "contest_id": 1603,
          "problem_letter": "E",
          "problem_id": 14132,
          "problem_name": "Šibice",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1603,
          "problem_letter": "F",
          "problem_id": 14133,
          "problem_name": "Sličice",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1603,
          "problem_letter": "G",
          "problem_id": 14134,
          "problem_name": "Sretan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1603,
          "problem_letter": "H",
          "problem_id": 14135,
          "problem_name": "Trokut",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1603,
          "problem_letter": "I",
          "problem_id": 14136,
          "problem_name": "Višekratnici",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1604,
      "contest_name": "CPC 2009",
      "contest_full_name": "CPC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1604,
          "problem_letter": "A",
          "problem_id": 14137,
          "problem_name": "Ćevapi",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "B",
          "problem_id": 14138,
          "problem_name": "Filtar",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "C",
          "problem_id": 14139,
          "problem_name": "Izviðači",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "euler tour technique",
            "lowest common ancestor",
            "segment tree",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "euler_tour_technique",
            "lca",
            "segtree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "D",
          "problem_id": 14140,
          "problem_name": "Lunapark",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "E",
          "problem_id": 14141,
          "problem_name": "Majstor",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "binary_search",
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "F",
          "problem_id": 14142,
          "problem_name": "Maxplus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1604,
          "problem_letter": "G",
          "problem_id": 14143,
          "problem_name": "Škola",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "persistent segment tree",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "pst",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "H",
          "problem_id": 14144,
          "problem_name": "Žabe",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "inclusion and exclusion",
            "mathematics",
            "number theory",
            "parametric search"
          ],
          "tag_keys": [
            "inclusion_and_exclusion",
            "math",
            "number_theory",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1604,
          "problem_letter": "I",
          "problem_id": 14145,
          "problem_name": "Žetva",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1605,
      "contest_name": "CPC 2008",
      "contest_full_name": "CPC 2008",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1605,
          "problem_letter": "A",
          "problem_id": 14146,
          "problem_name": "Bomboni",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1605,
          "problem_letter": "B",
          "problem_id": 14147,
          "problem_name": "Ceste",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1605,
          "problem_letter": "C",
          "problem_id": 14148,
          "problem_name": "Čestice",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1605,
          "problem_letter": "D",
          "problem_id": 14149,
          "problem_name": "Igra",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1605,
          "problem_letter": "E",
          "problem_id": 14150,
          "problem_name": "Prekidač",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1605,
          "problem_letter": "F",
          "problem_id": 14151,
          "problem_name": "Riva",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1605,
          "problem_letter": "G",
          "problem_id": 14152,
          "problem_name": "RSA",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "ad-hoc",
            "number theory",
            "bitmask",
            "primality test",
            "dynamic programming using bitfield",
            "prime factorization",
            "meet in the middle",
            "miller–rabin",
            "pollard rho"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "ad_hoc",
            "number_theory",
            "bitmask",
            "primality_test",
            "dp_bitfield",
            "prime_factorization",
            "mitm",
            "miller_rabin",
            "pollard_rho"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            }
          ]
        },
        {
          "contest_id": 1605,
          "problem_letter": "H",
          "problem_id": 14153,
          "problem_name": "Trokut",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1605,
          "problem_letter": "I",
          "problem_id": 14154,
          "problem_name": "Zmija",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "deque"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "deque"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1606,
      "contest_name": "CPC 2007",
      "contest_full_name": "CPC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1606,
          "problem_letter": "A",
          "problem_id": 14155,
          "problem_name": "Arhitekt",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "offline queries",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "offline_queries",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "B",
          "problem_id": 14156,
          "problem_name": "Binarni",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "constructive",
            "bitmask"
          ],
          "tag_keys": [
            "constructive",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "C",
          "problem_id": 14157,
          "problem_name": "Čuvar",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "D",
          "problem_id": 14158,
          "problem_name": "Kalendar",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "E",
          "problem_id": 14159,
          "problem_name": "Kemija",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1606,
          "problem_letter": "F",
          "problem_id": 14160,
          "problem_name": "Pekar",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "G",
          "problem_id": 14161,
          "problem_name": "Spoj",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "exponentiation by squaring",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "exponentiation_by_squaring",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "H",
          "problem_id": 14162,
          "problem_name": "Suma",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1606,
          "problem_letter": "I",
          "problem_id": 14163,
          "problem_name": "Torta",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1611,
      "contest_name": "Tehran Site 2016",
      "contest_full_name": "Tehran Site 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1611,
          "problem_letter": "A",
          "problem_id": 14182,
          "problem_name": "Tax",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "B",
          "problem_id": 14183,
          "problem_name": "Key Maker",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "C",
          "problem_id": 14184,
          "problem_name": "IOI 2017 Logo",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "D",
          "problem_id": 14185,
          "problem_name": "MicroRNA Ranking",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "directed acyclic graph",
            "data structures",
            "graph theory",
            "priority queue",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "data_structures",
            "graphs",
            "priority_queue",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "E",
          "problem_id": 14186,
          "problem_name": "Möbius Strip",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "F",
          "problem_id": 14187,
          "problem_name": "Expression",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "arithmetic",
            "parsing",
            "recursion",
            "arbitrary precision / big integers",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "arithmetic",
            "parsing",
            "recursion",
            "arbitrary_precision",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "G",
          "problem_id": 14188,
          "problem_name": "Elections",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "H",
          "problem_id": 14189,
          "problem_name": "Explosion at Cafebazaar",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "directed acyclic graph",
            "graph theory",
            "strongly connected component",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "graphs",
            "scc",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "I",
          "problem_id": 14190,
          "problem_name": "Linear Galaxy",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "J",
          "problem_id": 14191,
          "problem_name": "Rahyab",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1611,
          "problem_letter": "K",
          "problem_id": 14192,
          "problem_name": "Base Stations",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "two-pointer",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "two_pointer",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1611,
          "problem_letter": "L",
          "problem_id": 14193,
          "problem_name": "Skeletons",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "depth-first search",
            "strongly connected component"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "dfs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1612,
      "contest_name": "IIPC 2016",
      "contest_full_name": "IIPC 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran > Iran Internet Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1612,
          "problem_letter": "A",
          "problem_id": 14194,
          "problem_name": "Grades",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1612,
          "problem_letter": "B",
          "problem_id": 14195,
          "problem_name": "DotB",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1612,
          "problem_letter": "C",
          "problem_id": 14196,
          "problem_name": "Sticks and Carrots(Chomagh va Havij)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1612,
          "problem_letter": "D",
          "problem_id": 14197,
          "problem_name": "Son of Durin",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1612,
          "problem_letter": "E",
          "problem_id": 14198,
          "problem_name": "Halting Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1612,
          "problem_letter": "F",
          "problem_id": 14199,
          "problem_name": "“Oland must not fall”",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1612,
          "problem_letter": "G",
          "problem_id": 14200,
          "problem_name": "Circular Board Game",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 1612,
          "problem_letter": "H",
          "problem_id": 14201,
          "problem_name": "Blocks&Balls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1612,
          "problem_letter": "I",
          "problem_id": 14202,
          "problem_name": "Minions and the rooms",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "combinatorics",
            "data structures",
            "fast fourier transform",
            "segment tree with lazy propagation",
            "mathematics",
            "segment tree"
          ],
          "tag_keys": [
            "combinatorics",
            "data_structures",
            "fft",
            "lazyprop",
            "math",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1612,
          "problem_letter": "J",
          "problem_id": 14203,
          "problem_name": "Unlucky 89",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1733,
      "contest_name": "NAIPC 2017",
      "contest_full_name": "NAIPC 2017",
      "contest_year": 2017,
      "contest_path": "North American Invitational Programming Contest | University > NAIPC",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1733,
          "problem_letter": "A",
          "problem_id": 14506,
          "problem_name": "Pieces of Parentheses",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "B",
          "problem_id": 14507,
          "problem_name": "Stars in a Can",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "geometry",
            "convex hull",
            "geometry; 3d",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "geometry_3d",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "C",
          "problem_id": 14508,
          "problem_name": "Stretching Streamers",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "mathematics",
            "number theory",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "math",
            "number_theory",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "D",
          "problem_id": 14509,
          "problem_name": "Heaps from Trees",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "set / map",
            "smaller to larger technique",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "set",
            "smaller_to_larger",
            "lis"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "E",
          "problem_id": 14510,
          "problem_name": "Blazing New Trails",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "binary search",
            "minimum spanning tree",
            "aliens trick"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "mst",
            "alien"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "alien",
              "name": "aliens trick",
              "boj_tag_id": 134
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "F",
          "problem_id": 14511,
          "problem_name": "Incremental Double Free Strings",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "bruteforcing",
            "precomputation"
          ],
          "tag_keys": [
            "bruteforcing",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "G",
          "problem_id": 14512,
          "problem_name": "Apple Market",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1733,
          "problem_letter": "H",
          "problem_id": 14513,
          "problem_name": "Maximum Color Clique",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "I",
          "problem_id": 14514,
          "problem_name": "Ski Resort",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "implementation",
            "dynamic programming",
            "tree",
            "tree compression",
            "dominator tree"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "trees",
            "tree_compression",
            "dominator_tree"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_compression",
              "name": "tree compression",
              "boj_tag_id": 193
            },
            {
              "key": "dominator_tree",
              "name": "dominator tree",
              "boj_tag_id": 135
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "J",
          "problem_id": 14515,
          "problem_name": "Yin and Yang Stones",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1733,
          "problem_letter": "K",
          "problem_id": 14516,
          "problem_name": "Unbalanced Parentheses",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "greedy",
            "set / map by hashing",
            "prefix sum",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "hash_set",
            "prefix_sum",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1739,
      "contest_name": "Al-Khawarizmi National Programming Contest 2016",
      "contest_full_name": "Al-Khawarizmi National Programming Contest 2016",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia > Malaysia National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1739,
          "problem_letter": "A",
          "problem_id": 14533,
          "problem_name": "Financial Tsunami",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1739,
          "problem_letter": "B",
          "problem_id": 14534,
          "problem_name": "String Permutation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "C",
          "problem_id": 14535,
          "problem_name": "Birthday Graph",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "D",
          "problem_id": 14536,
          "problem_name": "Bricks on the Wall",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "E",
          "problem_id": 14537,
          "problem_name": "Street Light Pole",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1739,
          "problem_letter": "F",
          "problem_id": 14538,
          "problem_name": "Connectivity Potential",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "G",
          "problem_id": 14539,
          "problem_name": "Grid Pattern",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "H",
          "problem_id": 14540,
          "problem_name": "Railway Station",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "I",
          "problem_id": 14541,
          "problem_name": "Speed Limit",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1739,
          "problem_letter": "J",
          "problem_id": 14542,
          "problem_name": "Outer Triangle Sum",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1740,
      "contest_name": "The 2016 Beninese Collegiate Programming Contest",
      "contest_full_name": "The 2016 Beninese Collegiate Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Africa and Arab > South Africa Regional Contest > Beninese Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1740,
          "problem_letter": "A",
          "problem_id": 14543,
          "problem_name": "Linear Equation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "string",
            "parsing",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "string",
            "parsing",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "B",
          "problem_id": 14544,
          "problem_name": "Vote",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "C",
          "problem_id": 14545,
          "problem_name": "Square",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "D",
          "problem_id": 14546,
          "problem_name": "Prison Break",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "E",
          "problem_id": 14547,
          "problem_name": "X X glued",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "F",
          "problem_id": 14548,
          "problem_name": "The fastest road to banikoara",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "data structures",
            "set / map",
            "shortest path",
            "set / map by hashing",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "set",
            "shortest_path",
            "hash_set",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "G",
          "problem_id": 14549,
          "problem_name": "The Triangle Game",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1740,
          "problem_letter": "H",
          "problem_id": 14550,
          "problem_name": "마리오 파티",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1747,
      "contest_name": "ACM-ICPC World Finals 2017",
      "contest_full_name": "ACM-ICPC World Finals 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > World Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1747,
          "problem_letter": "A",
          "problem_id": 14633,
          "problem_name": "Airport Construction",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bruteforcing",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "B",
          "problem_id": 14634,
          "problem_name": "Get a Clue!",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "C",
          "problem_id": 14635,
          "problem_name": "Mission Improbable",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "D",
          "problem_id": 14636,
          "problem_name": "Money for Nothing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "geometry",
            "divide and conquer",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "divide_and_conquer",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "E",
          "problem_id": 14637,
          "problem_name": "Need for Speed",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "F",
          "problem_id": 14638,
          "problem_name": "Posterize",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "G",
          "problem_id": 14639,
          "problem_name": "Replicate Replicate Rfplicbte",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "H",
          "problem_id": 14640,
          "problem_name": "Scenery",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "I",
          "problem_id": 14641,
          "problem_name": "Secret Chamber at Mount Rushmore",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "J",
          "problem_id": 14642,
          "problem_name": "Son of Pipe Stream",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "binary search",
            "calculus",
            "maximum flow",
            "implementation",
            "mathematics",
            "graph theory"
          ],
          "tag_keys": [
            "binary_search",
            "calculus",
            "flow",
            "implementation",
            "math",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "K",
          "problem_id": 14643,
          "problem_name": "Tarot Sham Boast",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "math",
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1747,
          "problem_letter": "L",
          "problem_id": 14644,
          "problem_name": "Visual Python++",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "greedy",
            "sweeping"
          ],
          "tag_keys": [
            "greedy",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1758,
      "contest_name": "Daejeon Nationalwide Internet Competition 2017",
      "contest_full_name": "Daejeon Nationalwide Internet Competition 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1758,
          "problem_letter": "A",
          "problem_id": 14746,
          "problem_name": "Closest Pair",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "sorting",
            "binary search",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "B",
          "problem_id": 14747,
          "problem_name": "Cycle Mean",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "bellman–ford"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "bellman_ford"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "C",
          "problem_id": 14748,
          "problem_name": "Flow Graph Complexity",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "case work",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "case_work",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "D",
          "problem_id": 14749,
          "problem_name": "Grasshopper Route",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "constructive",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "constructive",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "E",
          "problem_id": 14750,
          "problem_name": "Jerry and Tom",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "geometry",
            "maximum flow",
            "line segment intersection check"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "flow",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "F",
          "problem_id": 14751,
          "problem_name": "Leftmost Segment",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "binary search",
            "convex hull",
            "convex hull trick"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "convex_hull",
            "cht"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "G",
          "problem_id": 14752,
          "problem_name": "Map Labeling",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "H",
          "problem_id": 14753,
          "problem_name": "MultiMax",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "sorting",
            "case work"
          ],
          "tag_keys": [
            "sorting",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "I",
          "problem_id": 14754,
          "problem_name": "Pizza Boxes",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "J",
          "problem_id": 14755,
          "problem_name": "Pseudoknot",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "string",
            "binary search",
            "sparse table",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "binary_search",
            "sparse_table",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "K",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1758,
          "problem_letter": "L",
          "problem_id": 14756,
          "problem_name": "Telescope",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1760,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2012 Southeast USA Regional Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1760,
          "problem_letter": "A",
          "problem_id": 4781,
          "problem_name": "사탕 가게",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "B",
          "problem_id": 4699,
          "problem_name": "Collision Detection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1760,
          "problem_letter": "C",
          "problem_id": 4782,
          "problem_name": "분수 뺄셈",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "D",
          "problem_id": 14757,
          "problem_name": "Dueling Philosophers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "E",
          "problem_id": 14758,
          "problem_name": "Paint Me",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "arithmetic",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "arithmetic",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "F",
          "problem_id": 14759,
          "problem_name": "Party Games",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "G",
          "problem_id": 14760,
          "problem_name": "Reverse Nonogram",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "H",
          "problem_id": 4704,
          "problem_name": "Tsunami",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "sorting",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "sorting",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "I",
          "problem_id": 4784,
          "problem_name": "Unhappy Numbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1760,
          "problem_letter": "J",
          "problem_id": 4785,
          "problem_name": "Walls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1761,
      "contest_name": "2016 Rocky Mountain Regional Contest",
      "contest_full_name": "2016 Rocky Mountain Regional Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1761,
          "problem_letter": "A",
          "problem_id": 14761,
          "problem_name": "FizzBuzz",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "B",
          "problem_id": 14762,
          "problem_name": "Election",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "C",
          "problem_id": 14763,
          "problem_name": "Password Hacking",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "D",
          "problem_id": 14764,
          "problem_name": "Delivering Goods",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bipartite_matching",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "E",
          "problem_id": 14765,
          "problem_name": "Studying For Exams",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "F",
          "problem_id": 14766,
          "problem_name": "Bumper-To-Bumper Traffic",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "G",
          "problem_id": 14767,
          "problem_name": "Flow Shop",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "dynamic programming"
          ],
          "tag_keys": [
            "implementation",
            "dp"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "H",
          "problem_id": 14768,
          "problem_name": "Nice Numbers",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "I",
          "problem_id": 14769,
          "problem_name": "Stacking Cups",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1761,
          "problem_letter": "J",
          "problem_id": 14770,
          "problem_name": "Stack Construction",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1778,
      "contest_name": "Asia Regional - Daejeon 2017",
      "contest_full_name": "Asia Regional - Daejeon 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1778,
          "problem_letter": "A",
          "problem_id": 14951,
          "problem_name": "Broadcast Stations",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "B",
          "problem_id": 14952,
          "problem_name": "Connect3",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "bruteforcing",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "C",
          "problem_id": 14953,
          "problem_name": "Game Map",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "D",
          "problem_id": 14954,
          "problem_name": "Happy Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "E",
          "problem_id": 14955,
          "problem_name": "How Many to Be Happy?",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum spanning tree",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mst",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "F",
          "problem_id": 14956,
          "problem_name": "Philosopher’s Walk",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "G",
          "problem_id": 14957,
          "problem_name": "Rectilinear Regions",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "H",
          "problem_id": 14958,
          "problem_name": "Rock Paper Scissors",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "I",
          "problem_id": 14959,
          "problem_name": "Slot Machines",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "J",
          "problem_id": 14960,
          "problem_name": "Strongly Matchable",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem",
            "hall's theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc",
            "hall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "K",
          "problem_id": 14961,
          "problem_name": "Untangling Chain",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1778,
          "problem_letter": "L",
          "problem_id": 14962,
          "problem_name": "Vacation Plans",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1780,
      "contest_name": "2017 Japan Domestic Contest",
      "contest_full_name": "2017 Japan Domestic Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1780,
          "problem_letter": "A",
          "problem_id": 14969,
          "problem_name": "Taro's Shopping",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "B",
          "problem_id": 14970,
          "problem_name": "Almost Identical Programs",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "C",
          "problem_id": 14971,
          "problem_name": "A Garden with Ponds",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "D",
          "problem_id": 14972,
          "problem_name": "Making Lunch Boxes",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bitmask",
            "bruteforcing",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "E",
          "problem_id": 14973,
          "problem_name": "Boolean Expression Compressor",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "implementation",
            "parsing",
            "precomputation",
            "string"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "parsing",
            "precomputation",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "F",
          "problem_id": 14974,
          "problem_name": "Folding a Ribbon",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "G",
          "problem_id": 14975,
          "problem_name": "Go around the Labyrinth",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "biconnected component",
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "bcc",
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1780,
          "problem_letter": "H",
          "problem_id": 14976,
          "problem_name": "Equivalent Deformation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1781,
      "contest_name": "CTU Open Contest 2017",
      "contest_full_name": "CTU Open Contest 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1781,
          "problem_letter": "A",
          "problem_id": 14977,
          "problem_name": "Amusement Anticipation",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "C",
          "problem_id": 14978,
          "problem_name": "Pond Cascade",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "D",
          "problem_id": 14979,
          "problem_name": "Chessboard Dancing",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "E",
          "problem_id": 14980,
          "problem_name": "Equinox Roller Coaster",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "bruteforcing",
            "sorting",
            "set / map",
            "set / map by hashing",
            "set / map by trees",
            "square root decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "sorting",
            "set",
            "hash_set",
            "tree_set",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "F",
          "problem_id": 14981,
          "problem_name": "Forest Picture",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "G",
          "problem_id": 14982,
          "problem_name": "Shooting Gallery",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "I",
          "problem_id": 14983,
          "problem_name": "Ice cream samples",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "two-pointer"
          ],
          "tag_keys": [
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "M",
          "problem_id": 14984,
          "problem_name": "Dark Ride with Monsters",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "greedy",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "N",
          "problem_id": 14985,
          "problem_name": "Go Northwest!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "data structures",
            "sorting",
            "set / map",
            "combinatorics",
            "set / map by hashing",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "sorting",
            "set",
            "combinatorics",
            "hash_set",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "P",
          "problem_id": 14986,
          "problem_name": "Punching Power",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1781,
          "problem_letter": "W",
          "problem_id": 14987,
          "problem_name": "Treetop Walkway",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1782,
      "contest_name": "BAPC 2017 Preliminaries",
      "contest_full_name": "BAPC 2017 Preliminaries",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 1782,
          "problem_letter": "A",
          "problem_id": 14988,
          "problem_name": "Abandoned Animal",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "set / map by hashing",
            "stack",
            "queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "hash_set",
            "stack",
            "queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "B",
          "problem_id": 14989,
          "problem_name": "Booming Business",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "C",
          "problem_id": 14990,
          "problem_name": "Crowd Control",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "binary search",
            "data structures",
            "depth-first search",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "dfs",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "mst"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "D",
          "problem_id": 14991,
          "problem_name": "Disastrous Doubling",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "E",
          "problem_id": 14992,
          "problem_name": "Envious Exponents",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "F",
          "problem_id": 14993,
          "problem_name": "Flatland Fidget Spinner",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "G",
          "problem_id": 14994,
          "problem_name": "Ghostbusters",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "H",
          "problem_id": 14995,
          "problem_name": "Horror Film Night",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "I",
          "problem_id": 14996,
          "problem_name": "Intelligence Infection",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1782,
          "problem_letter": "J",
          "problem_id": 14997,
          "problem_name": "Journal Editing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "K",
          "problem_id": 14998,
          "problem_name": "Knight’s Marathon",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "case work",
            "graph theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "L",
          "problem_id": 14999,
          "problem_name": "Leapfrog",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "chinese remainder theorem",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "crt",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "X",
          "problem_id": 15000,
          "problem_name": "CAPS",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "Y",
          "problem_id": 15001,
          "problem_name": "Frog Leaps",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1782,
          "problem_letter": "Z",
          "problem_id": 15002,
          "problem_name": "Soccer Skills",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1783,
      "contest_name": "BAPC 2017",
      "contest_full_name": "BAPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1783,
          "problem_letter": "A",
          "problem_id": 15003,
          "problem_name": "Amsterdam Distance",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "B",
          "problem_id": 15004,
          "problem_name": "Bearly Made It",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "implementation",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "C",
          "problem_id": 15005,
          "problem_name": "Collatz Conjecture",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "set / map"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "D",
          "problem_id": 15006,
          "problem_name": "Detour",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "E",
          "problem_id": 15007,
          "problem_name": "Easter Eggs",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "parametric search",
            "bipartite matching"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "F",
          "problem_id": 15008,
          "problem_name": "Falling Apart",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "G",
          "problem_id": 15009,
          "problem_name": "Going Dutch",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "H",
          "problem_id": 15010,
          "problem_name": "Hoarse Horses",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "euler characteristic (χ=v-e+f)",
            "geometry",
            "graph theory",
            "line segment intersection check",
            "planar graph"
          ],
          "tag_keys": [
            "euler_characteristic",
            "geometry",
            "graphs",
            "line_intersection",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "I",
          "problem_id": 15011,
          "problem_name": "Irrational Division",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "greedy",
            "case work",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "case_work",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "J",
          "problem_id": 15012,
          "problem_name": "Jumping Choreography",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "K",
          "problem_id": 15013,
          "problem_name": "King of the Waves",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "constructive",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "constructive",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "L",
          "problem_id": 15014,
          "problem_name": "Lemonade Trade",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1783,
          "problem_letter": "M",
          "problem_id": 15015,
          "problem_name": "Manhattan Mornings",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "sorting",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "sorting",
            "lis"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1784,
      "contest_name": "NCPC 2017",
      "contest_full_name": "NCPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1784,
          "problem_letter": "A",
          "problem_id": 15016,
          "problem_name": "Airport Coffee",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "deque",
            "dynamic programming",
            "dynamic programming using a deque",
            "prefix sum",
            "two-pointer",
            "deque range maximum trick"
          ],
          "tag_keys": [
            "data_structures",
            "deque",
            "dp",
            "dp_deque",
            "prefix_sum",
            "two_pointer",
            "deque_trick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_deque",
              "name": "dynamic programming using a deque",
              "boj_tag_id": 108
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "deque_trick",
              "name": "deque range maximum trick",
              "boj_tag_id": 216
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "B",
          "problem_id": 15017,
          "problem_name": "Best Relay Team",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "C",
          "problem_id": 15018,
          "problem_name": "Compass Card Sales",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "implementation",
            "linked list",
            "priority queue",
            "simulation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "implementation",
            "linked_list",
            "priority_queue",
            "simulation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "D",
          "problem_id": 15019,
          "problem_name": "Distinctive Character",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bitmask"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "E",
          "problem_id": 15020,
          "problem_name": "Emptying the Baltic",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "shortest_path",
            "dijkstra",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "F",
          "problem_id": 15021,
          "problem_name": "Fractal Tree",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "case work",
            "lowest common ancestor",
            "recursion",
            "tree"
          ],
          "tag_keys": [
            "case_work",
            "lca",
            "recursion",
            "trees"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "G",
          "problem_id": 15022,
          "problem_name": "Galactic Collegiate Programming Contest",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "segment tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "H",
          "problem_id": 15023,
          "problem_name": "Hubtown",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bipartite matching",
            "geometry"
          ],
          "tag_keys": [
            "bipartite_matching",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "I",
          "problem_id": 15024,
          "problem_name": "Import Spaghetti",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "J",
          "problem_id": 15025,
          "problem_name": "Judging Moose",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1784,
          "problem_letter": "K",
          "problem_id": 15026,
          "problem_name": "Kayaking Trip",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1785,
      "contest_name": "UKIEPC 2017",
      "contest_full_name": "UKIEPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1785,
          "problem_letter": "A",
          "problem_id": 15027,
          "problem_name": "Alien Sunset",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "B",
          "problem_id": 15028,
          "problem_name": "Breaking Biscuits",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "C",
          "problem_id": 15029,
          "problem_name": "Cued In",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "D",
          "problem_id": 15030,
          "problem_name": "Deranging Hat",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "E",
          "problem_id": 15031,
          "problem_name": "Education",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "traceback"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "F",
          "problem_id": 15032,
          "problem_name": "Flipping Coins",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "G",
          "problem_id": 15033,
          "problem_name": "GentleBots",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "constructive",
            "randomization"
          ],
          "tag_keys": [
            "greedy",
            "constructive",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "H",
          "problem_id": 15034,
          "problem_name": "Hiker Safety",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "I",
          "problem_id": 15035,
          "problem_name": "I Work All Day",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "J",
          "problem_id": 15036,
          "problem_name": "Just A Minim",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "K",
          "problem_id": 15037,
          "problem_name": "Knightsbridge Rises",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "greedy",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1785,
          "problem_letter": "L",
          "problem_id": 15038,
          "problem_name": "Lounge Lizards",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "longest increasing sequence problem",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "lis",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1786,
      "contest_name": "A Primeira Fase da Maratona de Programação 2017",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1786,
          "problem_letter": "A",
          "problem_id": 15039,
          "problem_name": "Acordes intergaláticos",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "B",
          "problem_id": 15040,
          "problem_name": "Brincadeira",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "bitmask",
            "bruteforcing",
            "implementation",
            "pigeonhole principle",
            "prefix sum",
            "simulation"
          ],
          "tag_keys": [
            "ad_hoc",
            "bitmask",
            "bruteforcing",
            "implementation",
            "pigeonhole_principle",
            "prefix_sum",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "C",
          "problem_id": 15041,
          "problem_name": "Cigarras periódicas",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "D",
          "problem_id": 15042,
          "problem_name": "Despojados",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "E",
          "problem_id": 15043,
          "problem_name": "Escala musical",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "F",
          "problem_id": 15044,
          "problem_name": "Fase",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "G",
          "problem_id": 15045,
          "problem_name": "Ginástica",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "H",
          "problem_id": 15046,
          "problem_name": "Hipercampo",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "I",
          "problem_id": 15047,
          "problem_name": "Imposto Real",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "J",
          "problem_id": 15048,
          "problem_name": "Jogo de Boca",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "game theory",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "game_theory",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "K",
          "problem_id": 15049,
          "problem_name": "K-ésimo",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "L",
          "problem_id": 15050,
          "problem_name": "Laboratório de biotecnologia",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "prefix sum",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "prefix_sum",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1786,
          "problem_letter": "M",
          "problem_id": 15051,
          "problem_name": "Máquina de café",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1787,
      "contest_name": "Latin America Regional Contests 2017",
      "contest_full_name": "Latin America Regional Contests 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1787,
          "problem_letter": "A",
          "problem_id": 15052,
          "problem_name": "Arranging tiles",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "geometry",
            "ternary search",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "geometry",
            "ternary_search",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "B",
          "problem_id": 15053,
          "problem_name": "Buggy ICPC",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "C",
          "problem_id": 15054,
          "problem_name": "Complete Naebbirac’s sequence",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "D",
          "problem_id": 15055,
          "problem_name": "Daunting device",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "set / map by trees",
            "square root decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "tree_set",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "E",
          "problem_id": 15056,
          "problem_name": "Enigma",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "F",
          "problem_id": 15057,
          "problem_name": "Fundraising",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "G",
          "problem_id": 15058,
          "problem_name": "Gates of uncertainty",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "H",
          "problem_id": 15059,
          "problem_name": "Hard choice",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "I",
          "problem_id": 15060,
          "problem_name": "Imperial roads",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "tree",
            "minimum spanning tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "graphs",
            "trees",
            "mst",
            "lca"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "J",
          "problem_id": 15061,
          "problem_name": "Jumping Frog",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "euclidean algorithm",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "euclidean",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "K",
          "problem_id": 15062,
          "problem_name": "Keep it covered",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "L",
          "problem_id": 15063,
          "problem_name": "Linearville",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "case work",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1787,
          "problem_letter": "M",
          "problem_id": 15064,
          "problem_name": "Marblecoin",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "string",
            "set / map",
            "priority queue",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "string",
            "set",
            "priority_queue",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1788,
      "contest_name": "2016 East Central Regional Contest",
      "contest_full_name": "2016 East Central Regional Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 1788,
          "problem_letter": "A",
          "problem_id": 15069,
          "problem_name": "Bubbly Troubly",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1788,
          "problem_letter": "B",
          "problem_id": 15070,
          "problem_name": "Foosball Dynasty",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "deque",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "deque",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "C",
          "problem_id": 15071,
          "problem_name": "The Key to Cryptography",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "D",
          "problem_id": 15072,
          "problem_name": "Lost in Translation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "E",
          "problem_id": 15073,
          "problem_name": "Red Rover",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "F",
          "problem_id": 15074,
          "problem_name": "Removal Game",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "G",
          "problem_id": 15075,
          "problem_name": "That’s One Hanoi-ed Teacher",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "mathematics",
            "recursion",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "recursion",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "H",
          "problem_id": 15076,
          "problem_name": "Vin Diagrams",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "disjoint set",
            "flood-fill",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "flood_fill",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "I",
          "problem_id": 15077,
          "problem_name": "Waif Until Dark",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "J",
          "problem_id": 15078,
          "problem_name": "Yes, Yes, It’s Nonograms",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "PA",
          "problem_id": 15065,
          "problem_name": "Dinoscan",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "PB",
          "problem_id": 15066,
          "problem_name": "Happy Trails",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "PC",
          "problem_id": 15067,
          "problem_name": "Prime Driving Conditions",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1788,
          "problem_letter": "PD",
          "problem_id": 15068,
          "problem_name": "Time is of the Essence",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1789,
      "contest_name": "2017 East Central Regional Contest",
      "contest_full_name": "2017 East Central Regional Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 1789,
          "problem_letter": "A",
          "problem_id": 15085,
          "problem_name": "Abstract Art",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "line segment intersection check",
            "area of a polygon",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "polygon_area",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "B",
          "problem_id": 15086,
          "problem_name": "Craters",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "C",
          "problem_id": 15087,
          "problem_name": "DRM Messages",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "D",
          "problem_id": 15088,
          "problem_name": "Game of Throwns",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "simulation",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "simulation",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "E",
          "problem_id": 15089,
          "problem_name": "Is-A? Has-A? Who Knowz-A?",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "set / map",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "set",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "F",
          "problem_id": 15090,
          "problem_name": "Keeping On Track",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "combinatorics",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "combinatorics",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "G",
          "problem_id": 15091,
          "problem_name": "A Question of Ingestion",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "H",
          "problem_id": 15092,
          "problem_name": "Sheba’s Amoebas",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "I",
          "problem_id": 15093,
          "problem_name": "Twenty Four, Again",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "arithmetic",
            "bruteforcing",
            "dynamic programming",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "arithmetic",
            "bruteforcing",
            "dp",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "J",
          "problem_id": 15094,
          "problem_name": "Workout for a Dumbbell",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "PA",
          "problem_id": 15079,
          "problem_name": "Arggggggh!",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "PB",
          "problem_id": 15080,
          "problem_name": "Every Second Counts",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "PC",
          "problem_id": 15081,
          "problem_name": "Is Everybody Appy?",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "PD",
          "problem_id": 15082,
          "problem_name": "KaBlam!",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "geometry",
            "implementation",
            "physics"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "physics"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "PE",
          "problem_id": 15083,
          "problem_name": "Life Savings",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1789,
          "problem_letter": "PF",
          "problem_id": 15084,
          "problem_name": "Treating Fractions Irrationally",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1790,
      "contest_name": "2017 Mid-Central Regional Programming Contest",
      "contest_full_name": "2017 Mid-Central Regional Programming Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 1790,
          "problem_letter": "A",
          "problem_id": 15095,
          "problem_name": "Nine Knights",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "B",
          "problem_id": 15096,
          "problem_name": "Batter Up",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "C",
          "problem_id": 15097,
          "problem_name": "Ring String",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1790,
          "problem_letter": "D",
          "problem_id": 15098,
          "problem_name": "No Duplicates",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "E",
          "problem_id": 15099,
          "problem_name": "Honey Heist",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "F",
          "problem_id": 15100,
          "problem_name": "Orderly Class",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "G",
          "problem_id": 15101,
          "problem_name": "Faulty Robot",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "H",
          "problem_id": 15102,
          "problem_name": "Hopscotch",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "exponentiation by squaring",
            "fermat's little theorem",
            "mathematics",
            "modular multiplicative inverse",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "exponentiation_by_squaring",
            "flt",
            "math",
            "modular_multiplicative_inverse",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1790,
          "problem_letter": "I",
          "problem_id": 15103,
          "problem_name": "The Uncertainty of Politics",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1791,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2017 Pacific Northwest Region Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1791,
          "problem_letter": "A",
          "problem_id": 15104,
          "problem_name": "Odd Palindrome",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "B",
          "problem_id": 15105,
          "problem_name": "Enlarging Enthusiasm",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "C",
          "problem_id": 15106,
          "problem_name": "Fear Factoring",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "D",
          "problem_id": 15107,
          "problem_name": "Rainbow Roads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "E",
          "problem_id": 15108,
          "problem_name": "Straight Shot",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "F",
          "problem_id": 15109,
          "problem_name": "Distinct Distances",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "G",
          "problem_id": 15110,
          "problem_name": "Security Badge",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "sweeping"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "H",
          "problem_id": 15111,
          "problem_name": "Avoiding Airports",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull trick",
            "dynamic programming"
          ],
          "tag_keys": [
            "cht",
            "dp"
          ],
          "tag_details": [
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "I",
          "problem_id": 15112,
          "problem_name": "Long Long Strings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "J",
          "problem_id": 15113,
          "problem_name": "Grid Coloring",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "K",
          "problem_id": 15114,
          "problem_name": "Spinning Up Palindromes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "L",
          "problem_id": 15115,
          "problem_name": "Delayed Work",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1791,
          "problem_letter": "M",
          "problem_id": 15116,
          "problem_name": "Unsatisfying",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "case work",
            "shortest path",
            "dijkstra's",
            "strongly connected component",
            "2-sat",
            "0-1 bfs"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "case_work",
            "shortest_path",
            "dijkstra",
            "scc",
            "2_sat",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1792,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2017 Pacific Northwest Region Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1792,
          "problem_letter": "N",
          "problem_id": 15104,
          "problem_name": "Odd Palindrome",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "O",
          "problem_id": 15117,
          "problem_name": "Latin Squares",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "P",
          "problem_id": 15106,
          "problem_name": "Fear Factoring",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "Q",
          "problem_id": 15118,
          "problem_name": "Halfway",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "R",
          "problem_id": 15108,
          "problem_name": "Straight Shot",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "S",
          "problem_id": 15119,
          "problem_name": "Purple Rain",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "T",
          "problem_id": 15110,
          "problem_name": "Security Badge",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "sweeping"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "U",
          "problem_id": 15120,
          "problem_name": "Unloaded Die",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "greedy",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "V",
          "problem_id": 15112,
          "problem_name": "Long Long Strings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "W",
          "problem_id": 15113,
          "problem_name": "Grid Coloring",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "X",
          "problem_id": 15121,
          "problem_name": "Star Arrangements",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "Y",
          "problem_id": 15115,
          "problem_name": "Delayed Work",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1792,
          "problem_letter": "Z",
          "problem_id": 15122,
          "problem_name": "Forbidden Zero",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1793,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2017 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1793,
          "problem_letter": "A",
          "problem_id": 15123,
          "problem_name": "Ducks in a Row",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "B",
          "problem_id": 15105,
          "problem_name": "Enlarging Enthusiasm",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "C",
          "problem_id": 15124,
          "problem_name": "Flipping Out",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "aho-corasick",
            "binary search",
            "data structures",
            "knuth–morris–pratt",
            "parametric search",
            "string",
            "suffix array and lcp array",
            "suffix tree",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "binary_search",
            "data_structures",
            "kmp",
            "parametric_search",
            "string",
            "suffix_array",
            "suffix_tree",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "suffix_tree",
              "name": "suffix tree",
              "boj_tag_id": 182
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "D",
          "problem_id": 15125,
          "problem_name": "Jumping Haybales",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "dynamic programming",
            "priority queue",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "priority_queue",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "E",
          "problem_id": 15112,
          "problem_name": "Long Long Strings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "F",
          "problem_id": 15126,
          "problem_name": "Move Away",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "G",
          "problem_id": 15107,
          "problem_name": "Rainbow Roads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "H",
          "problem_id": 15110,
          "problem_name": "Security Badge",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "sweeping"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "I",
          "problem_id": 15121,
          "problem_name": "Star Arrangements",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "J",
          "problem_id": 15127,
          "problem_name": "Treasure Map",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1793,
          "problem_letter": "K",
          "problem_id": 15116,
          "problem_name": "Unsatisfying",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "case work",
            "shortest path",
            "dijkstra's",
            "strongly connected component",
            "2-sat",
            "0-1 bfs"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "case_work",
            "shortest_path",
            "dijkstra",
            "scc",
            "2_sat",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1794,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2017 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1794,
          "problem_letter": "A",
          "problem_id": 15128,
          "problem_name": "Congruent Numbers",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "B",
          "problem_id": 15120,
          "problem_name": "Unloaded Die",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "greedy",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "C",
          "problem_id": 15118,
          "problem_name": "Halfway",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "D",
          "problem_id": 15129,
          "problem_name": "Law 11",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "E",
          "problem_id": 15112,
          "problem_name": "Long Long Strings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "F",
          "problem_id": 15126,
          "problem_name": "Move Away",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "G",
          "problem_id": 15119,
          "problem_name": "Purple Rain",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "H",
          "problem_id": 15107,
          "problem_name": "Rainbow Roads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "I",
          "problem_id": 15130,
          "problem_name": "Arithmetic Sequences",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "J",
          "problem_id": 15121,
          "problem_name": "Star Arrangements",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1794,
          "problem_letter": "K",
          "problem_id": 15127,
          "problem_name": "Treasure Map",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1795,
      "contest_name": "NEERC Northern Subregional 2017",
      "contest_full_name": "NEERC Northern Subregional 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1795,
          "problem_letter": "A",
          "problem_id": 15131,
          "problem_name": "Auxiliary Project",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "B",
          "problem_id": 15132,
          "problem_name": "Boolean Satisfiability",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "C",
          "problem_id": 15133,
          "problem_name": "Consonant Fencity",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "D",
          "problem_id": 15134,
          "problem_name": "Dividing Marbles",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "E",
          "problem_id": 15135,
          "problem_name": "Equal Numbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "F",
          "problem_id": 15136,
          "problem_name": "Fygon 2.0",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "floyd–warshall",
            "graph theory",
            "strongly connected component",
            "shortest path"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "floyd_warshall",
            "graphs",
            "scc",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "G",
          "problem_id": 15137,
          "problem_name": "Grand Test",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "biconnected component",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bcc",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "H",
          "problem_id": 15138,
          "problem_name": "Hidden Supervisors",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "I",
          "problem_id": 15139,
          "problem_name": "Intelligence in Perpendicularia",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "J",
          "problem_id": 15140,
          "problem_name": "Joker",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "binary search",
            "convex hull",
            "geometry",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "binary_search",
            "convex_hull",
            "geometry",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "K",
          "problem_id": 15141,
          "problem_name": "Kotlin Island",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1795,
          "problem_letter": "L",
          "problem_id": 15142,
          "problem_name": "Little Difference",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1796,
      "contest_name": "2017 South Pacific Divisional Contest",
      "contest_full_name": "2017 South Pacific Divisional Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > ACM ICPC South Pacific Divisionals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1796,
          "problem_letter": "A",
          "problem_id": 15143,
          "problem_name": "Atomic Mass",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "parsing",
            "regular expression"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set",
            "parsing",
            "regex"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 1796,
          "problem_letter": "B",
          "problem_id": 15144,
          "problem_name": "Bake Off",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "bitmask"
          ],
          "tag_keys": [
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1796,
          "problem_letter": "C",
          "problem_id": 15145,
          "problem_name": "Clever Title",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1796,
          "problem_letter": "D",
          "problem_id": 15146,
          "problem_name": "Deck of Cards",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "game theory",
            "maximum flow",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "game_theory",
            "flow",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1796,
          "problem_letter": "E",
          "problem_id": 15147,
          "problem_name": "Extra Judicial Operation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1796,
          "problem_letter": "F",
          "problem_id": 15148,
          "problem_name": "Front Nine",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "geometry",
            "implementation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "geometry",
            "implementation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1796,
          "problem_letter": "G",
          "problem_id": 15149,
          "problem_name": "Greedy Generosity",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1796,
          "problem_letter": "H",
          "problem_id": 15150,
          "problem_name": "Hole in One",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1796,
          "problem_letter": "I",
          "problem_id": 15151,
          "problem_name": "Incomplete Book",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1796,
          "problem_letter": "J",
          "problem_id": 15152,
          "problem_name": "Jupiter Rock-Paper-Scissors",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1796,
          "problem_letter": "K",
          "problem_id": 15153,
          "problem_name": "Keeping Cool",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1796,
          "problem_letter": "L",
          "problem_id": 15154,
          "problem_name": "Lights in the Morning",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1797,
      "contest_name": "2016 South Pacific Divisional Contest",
      "contest_full_name": "2016 South Pacific Divisional Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > ACM ICPC South Pacific Divisionals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1797,
          "problem_letter": "A",
          "problem_id": 15155,
          "problem_name": "Analysis of Advanced Analytics",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1797,
          "problem_letter": "B",
          "problem_id": 15156,
          "problem_name": "Balloon Connect-the-Dots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1797,
          "problem_letter": "C",
          "problem_id": 15157,
          "problem_name": "Candy Sales",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1797,
          "problem_letter": "D",
          "problem_id": 15158,
          "problem_name": "Dangerous Discus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1797,
          "problem_letter": "E",
          "problem_id": 15159,
          "problem_name": "Exciting Startup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1797,
          "problem_letter": "F",
          "problem_id": 15160,
          "problem_name": "Fusion",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 1797,
          "problem_letter": "G",
          "problem_id": 15161,
          "problem_name": "Grass Cutting",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1797,
          "problem_letter": "H",
          "problem_id": 15162,
          "problem_name": "Haggling With a Witcher",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1797,
          "problem_letter": "I",
          "problem_id": 15163,
          "problem_name": "Intuidiff",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 1797,
          "problem_letter": "J",
          "problem_id": 15164,
          "problem_name": "Jousting Tournament",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1797,
          "problem_letter": "K",
          "problem_id": 15165,
          "problem_name": "Killer Sudoku",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1797,
          "problem_letter": "L",
          "problem_id": 15166,
          "problem_name": "Loading Cargo",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bipartite graph",
            "dynamic programming",
            "graph theory",
            "knapsack"
          ],
          "tag_keys": [
            "bipartite_graph",
            "dp",
            "graphs",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1798,
      "contest_name": "2016 ACM South Pacific Programming Contest",
      "contest_full_name": "2016 ACM South Pacific Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1798,
          "problem_letter": "A",
          "problem_id": 15167,
          "problem_name": "Anticlockwise Motion",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "B",
          "problem_id": 15168,
          "problem_name": "Balloon Warehouse",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "C",
          "problem_id": 15169,
          "problem_name": "Crazy Rotations",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "sorting",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "D",
          "problem_id": 15170,
          "problem_name": "Dendroctonus",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "E",
          "problem_id": 15171,
          "problem_name": "Election Frenzy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1798,
          "problem_letter": "F",
          "problem_id": 15172,
          "problem_name": "False Intelligence",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "G",
          "problem_id": 15173,
          "problem_name": "Graphics Design",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1798,
          "problem_letter": "H",
          "problem_id": 15174,
          "problem_name": "Hilbert’s Hash Browns",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "chinese remainder theorem",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "crt",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "I",
          "problem_id": 15175,
          "problem_name": "Intuidiff II",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "J",
          "problem_id": 15176,
          "problem_name": "Just Terraffic!",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1798,
          "problem_letter": "K",
          "problem_id": 15177,
          "problem_name": "Kiwis vs Kangaroos",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1799,
      "contest_name": "NZPC 2017",
      "contest_full_name": "NZPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 1799,
          "problem_letter": "A",
          "problem_id": 15178,
          "problem_name": "Angles",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "B",
          "problem_id": 15179,
          "problem_name": "Golf Croquet",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "C",
          "problem_id": 15180,
          "problem_name": "Fitness",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "D",
          "problem_id": 15181,
          "problem_name": "Beautiful Music",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "E",
          "problem_id": 15182,
          "problem_name": "Byte Me!",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "F",
          "problem_id": 15183,
          "problem_name": "Musical Chairs",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "G",
          "problem_id": 15184,
          "problem_name": "Letter Count",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "H",
          "problem_id": 15185,
          "problem_name": "League Tables",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "I",
          "problem_id": 15186,
          "problem_name": "Planes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1799,
          "problem_letter": "J",
          "problem_id": 15187,
          "problem_name": "Trees",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1799,
          "problem_letter": "K",
          "problem_id": 15188,
          "problem_name": "Packing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "L",
          "problem_id": 15189,
          "problem_name": "Domino Killing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1799,
          "problem_letter": "M",
          "problem_id": 15190,
          "problem_name": "Infinite Trees",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "ad-hoc",
            "disjoint set",
            "recursion"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "ad_hoc",
            "disjoint_set",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1799,
          "problem_letter": "N",
          "problem_id": 15191,
          "problem_name": "Competition Day",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1799,
          "problem_letter": "O",
          "problem_id": 15192,
          "problem_name": "School Pairing",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "set / map",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1800,
      "contest_name": "CPC 2017",
      "contest_full_name": "CPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1800,
          "problem_letter": "A",
          "problem_id": 15193,
          "problem_name": "Asfalt",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "B",
          "problem_id": 15194,
          "problem_name": "Cod",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1800,
          "problem_letter": "C",
          "problem_id": 15195,
          "problem_name": "Kaktus",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "cactus",
            "dynamic programming",
            "graph theory",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "cactus",
            "dp",
            "graphs",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "D",
          "problem_id": 15196,
          "problem_name": "Kalendar",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "E",
          "problem_id": 15197,
          "problem_name": "Letovi",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "F",
          "problem_id": 15198,
          "problem_name": "NKD",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "G",
          "problem_id": 15199,
          "problem_name": "Ploča",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "disjoint set",
            "greedy"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "H",
          "problem_id": 15200,
          "problem_name": "Presjek",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry",
            "sweeping",
            "line segment intersection check",
            "difference array",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "sweeping",
            "line_intersection",
            "difference_array",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "I",
          "problem_id": 15201,
          "problem_name": "Sretan",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ternary search"
          ],
          "tag_keys": [
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1800,
          "problem_letter": "J",
          "problem_id": 15202,
          "problem_name": "Stablo",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "depth-first search",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1808,
      "contest_name": "CERC 2017",
      "contest_full_name": "CERC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1808,
          "problem_letter": "A",
          "problem_id": 15258,
          "problem_name": "Assignment Algorithm",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "B",
          "problem_id": 15259,
          "problem_name": "Buffalo Barricades",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "data structures",
            "set / map",
            "set / map by hashing",
            "sweeping",
            "disjoint set",
            "set / map by trees"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "set",
            "hash_set",
            "sweeping",
            "disjoint_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "C",
          "problem_id": 15260,
          "problem_name": "Cumulative Code",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "meet in the middle",
            "recursion"
          ],
          "tag_keys": [
            "mitm",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "D",
          "problem_id": 15261,
          "problem_name": "Donut Drone",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "graph theory",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "E",
          "problem_id": 15262,
          "problem_name": "Embedding Enumeration",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "mathematics",
            "tree"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "dp_tree",
            "math",
            "trees"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "F",
          "problem_id": 15263,
          "problem_name": "Faulty Factorial",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "case work",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "case_work",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "G",
          "problem_id": 15264,
          "problem_name": "Gambling Guide",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dijkstra's",
            "graph theory",
            "mathematics",
            "probability theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "math",
            "probability",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "H",
          "problem_id": 15265,
          "problem_name": "Hidden Hierarchy",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "implementation",
            "string",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "implementation",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "I",
          "problem_id": 15266,
          "problem_name": "Intrinsic Interval",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "segment tree",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "J",
          "problem_id": 15267,
          "problem_name": "Justified Jungle",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "number theory",
            "dynamic programming on trees",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "number_theory",
            "dp_tree",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "K",
          "problem_id": 15268,
          "problem_name": "Kitchen Knobs",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "greedy",
            "difference array",
            "finding invariants"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "difference_array",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1808,
          "problem_letter": "L",
          "problem_id": 15269,
          "problem_name": "Lunar Landscape",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1811,
      "contest_name": "2017 Rocky Mountain Regional Contest",
      "contest_full_name": "2017 Rocky Mountain Regional Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1811,
          "problem_letter": "A",
          "problem_id": 15272,
          "problem_name": "Hissing Microphone",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "B",
          "problem_id": 15273,
          "problem_name": "Open-Pit Mining",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "C",
          "problem_id": 15274,
          "problem_name": "Multiplication Game",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "case work",
            "game theory",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "case_work",
            "game_theory",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "D",
          "problem_id": 15275,
          "problem_name": "Polyline Simplification",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "geometry",
            "implementation",
            "simulation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "implementation",
            "simulation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "E",
          "problem_id": 15276,
          "problem_name": "Palindromic Password",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "F",
          "problem_id": 15277,
          "problem_name": "Flow Free",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "backtracking",
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "G",
          "problem_id": 15278,
          "problem_name": "Decisions, Decisions",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bitmask",
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "bitmask",
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "H",
          "problem_id": 15279,
          "problem_name": "Heart Rate",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "I",
          "problem_id": 15280,
          "problem_name": "Initials",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1811,
          "problem_letter": "J",
          "problem_id": 15281,
          "problem_name": "Particle Collision",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1811,
          "problem_letter": "K",
          "problem_id": 15282,
          "problem_name": "Frosh Week",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1812,
      "contest_name": "NEERC 2017",
      "contest_full_name": "NEERC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1812,
          "problem_letter": "A",
          "problem_id": 15283,
          "problem_name": "Archery Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "binary search",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "binary_search",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "B",
          "problem_id": 15284,
          "problem_name": "Box",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "case work",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "C",
          "problem_id": 15285,
          "problem_name": "Connections",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "constructive",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "constructive",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "D",
          "problem_id": 15286,
          "problem_name": "Designing the Toy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "E",
          "problem_id": 15287,
          "problem_name": "Easy Quest",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "F",
          "problem_id": 15288,
          "problem_name": "The Final Level",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "case work",
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "G",
          "problem_id": 15289,
          "problem_name": "The Great Wall",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "data structures",
            "prefix sum",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "prefix_sum",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "H",
          "problem_id": 15290,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1812,
          "problem_letter": "I",
          "problem_id": 15291,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1812,
          "problem_letter": "J",
          "problem_id": 15292,
          "problem_name": "Journey from Petersburg to Moscow",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "K",
          "problem_id": 15293,
          "problem_name": "Knapsack Cryptosystem",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "meet in the middle"
          ],
          "tag_keys": [
            "mitm"
          ],
          "tag_details": [
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1812,
          "problem_letter": "L",
          "problem_id": 15294,
          "problem_name": "Laminar Family",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "segment tree with lazy propagation",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "lazyprop",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1813,
      "contest_name": "2017 Greater New York Programming Contest",
      "contest_full_name": "2017 Greater New York Programming Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1813,
          "problem_letter": "A",
          "problem_id": 15295,
          "problem_name": "Chanukah Challenge",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "B",
          "problem_id": 15296,
          "problem_name": "Sum Squared Digits Function",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "C",
          "problem_id": 15297,
          "problem_name": "Capsules",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "D",
          "problem_id": 15298,
          "problem_name": "Pavers",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "E",
          "problem_id": 15299,
          "problem_name": "Best Rational Approximation",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "F",
          "problem_id": 15300,
          "problem_name": "The Components Game",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "G",
          "problem_id": 15301,
          "problem_name": "Social Resistance",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "H",
          "problem_id": 15302,
          "problem_name": "Triangle to Hexagon",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "line segment intersection check",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "I",
          "problem_id": 15303,
          "problem_name": "Sumdoku",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1813,
          "problem_letter": "J",
          "problem_id": 15304,
          "problem_name": "Toys",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "burnside's lemma",
            "combinatorics",
            "exponentiation by squaring",
            "mathematics",
            "modular multiplicative inverse",
            "number theory"
          ],
          "tag_keys": [
            "burnside",
            "combinatorics",
            "exponentiation_by_squaring",
            "math",
            "modular_multiplicative_inverse",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "burnside",
              "name": "burnside's lemma",
              "boj_tag_id": 16
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1819,
      "contest_name": "ACM-ICPC Asia Tsukuba Regional Contest 2017",
      "contest_full_name": "ACM-ICPC Asia Tsukuba Regional Contest 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1819,
          "problem_letter": "A",
          "problem_id": 15329,
          "problem_name": "Secret of Chocolate Poles",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "B",
          "problem_id": 15330,
          "problem_name": "Parallel Lines",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "C",
          "problem_id": 15331,
          "problem_name": "Medical Checkup",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "D",
          "problem_id": 15332,
          "problem_name": "Making Perimeter of the Convex Hull Shortest",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "binary search",
            "convex hull",
            "geometry",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "binary_search",
            "convex_hull",
            "geometry",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "E",
          "problem_id": 15333,
          "problem_name": "Black or White",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "deque",
            "deque range maximum trick",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "deque",
            "deque_trick",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "deque_trick",
              "name": "deque range maximum trick",
              "boj_tag_id": 216
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "F",
          "problem_id": 15334,
          "problem_name": "Pizza Delivery",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "articulation points and bridges",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "articulation",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "G",
          "problem_id": 15335,
          "problem_name": "Rendezvous on a Tetrahedron",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "case work",
            "geometry"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "H",
          "problem_id": 15336,
          "problem_name": "Homework",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "maximum flow",
            "greedy",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "greedy",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "I",
          "problem_id": 15337,
          "problem_name": "Starting a Scenic Railroad Service",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "J",
          "problem_id": 15338,
          "problem_name": "String Puzzle",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "tree",
            "set / map"
          ],
          "tag_keys": [
            "trees",
            "set"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1819,
          "problem_letter": "K",
          "problem_id": 15339,
          "problem_name": "Counting Cycles",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "graph theory",
            "tree",
            "linear algebra",
            "lowest common ancestor",
            "tree compression"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "trees",
            "linear_algebra",
            "lca",
            "tree_compression"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "tree_compression",
              "name": "tree compression",
              "boj_tag_id": 193
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1820,
      "contest_name": "Tehran Site 2017",
      "contest_full_name": "Tehran Site 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1820,
          "problem_letter": "A",
          "problem_id": 15340,
          "problem_name": "Sim Card",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1820,
          "problem_letter": "B",
          "problem_id": 15341,
          "problem_name": "Bank Card Verifier",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1820,
          "problem_letter": "C",
          "problem_id": 15342,
          "problem_name": "Border Wall",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1820,
          "problem_letter": "D",
          "problem_id": 15343,
          "problem_name": "World Cup Draw",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1820,
          "problem_letter": "E",
          "problem_id": 15344,
          "problem_name": "Barareh on Fire",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1820,
          "problem_letter": "F",
          "problem_id": 15345,
          "problem_name": "Homotopic Paths",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "sorting",
            "geometry",
            "line segment intersection check",
            "finding invariants"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "geometry",
            "line_intersection",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1820,
          "problem_letter": "G",
          "problem_id": 15346,
          "problem_name": "New Country Division",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1820,
          "problem_letter": "H",
          "problem_id": 15347,
          "problem_name": "Column Addition",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1820,
          "problem_letter": "I",
          "problem_id": 15348,
          "problem_name": "Cafe Bazaar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1820,
          "problem_letter": "J",
          "problem_id": 15349,
          "problem_name": "Getting Back Home",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "binary_search",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1820,
          "problem_letter": "K",
          "problem_id": 15350,
          "problem_name": "Mars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1824,
      "contest_name": "2016 ACM-ICPC Asia-Manila Regional Programming Contest",
      "contest_full_name": "2016 ACM-ICPC Asia-Manila Regional Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Philippines",
      "problem_count": 21,
      "problems": [
        {
          "contest_id": 1824,
          "problem_letter": "A",
          "problem_id": 15381,
          "problem_name": "AdoraBalls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "B",
          "problem_id": 15382,
          "problem_name": "Balloon Distribution",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "C",
          "problem_id": 15383,
          "problem_name": "Convex Quadrilateral",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "D",
          "problem_id": 15384,
          "problem_name": "Disco Dance Debacle",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "E",
          "problem_id": 15385,
          "problem_name": "Expression",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "F",
          "problem_id": 15386,
          "problem_name": "Frog Pushers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "minimum spanning tree",
            "offline queries"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "mst",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "G",
          "problem_id": 15387,
          "problem_name": "Go Go Go Special Action Force!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "H",
          "problem_id": 15388,
          "problem_name": "Handbags",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "I",
          "problem_id": 15389,
          "problem_name": "Imelda’s Shopping Spree",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "tree",
            "splay tree"
          ],
          "tag_keys": [
            "trees",
            "splay_tree"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "J",
          "problem_id": 15390,
          "problem_name": "Jack and Jill and Joe",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "mathematics",
            "precomputation"
          ],
          "tag_keys": [
            "bruteforcing",
            "math",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "K",
          "problem_id": 15391,
          "problem_name": "Off the Rails",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "L",
          "problem_id": 15392,
          "problem_name": "LoL Tournament",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "PA",
          "problem_id": 15372,
          "problem_name": "A Simple Problem.",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PB",
          "problem_id": 15373,
          "problem_name": "A Simple Problem!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PC",
          "problem_id": 15374,
          "problem_name": "Tataramon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1824,
          "problem_letter": "PD",
          "problem_id": 15375,
          "problem_name": "Friday",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PE",
          "problem_id": 15376,
          "problem_name": "A Packing Problem",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PF",
          "problem_id": 15377,
          "problem_name": "Bounce Bounce Bounce",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PG",
          "problem_id": 15378,
          "problem_name": "Paasa Numbers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking",
            "binary search",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "backtracking",
            "binary_search",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PH",
          "problem_id": 15379,
          "problem_name": "Guardians of the Lunatics",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "divide and conquer",
            "divide and conquer optimization",
            "dynamic programming"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "divide_and_conquer_optimization",
            "dp"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1824,
          "problem_letter": "PI",
          "problem_id": 15380,
          "problem_name": "The Grand Noi and ICPC Battle",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1825,
      "contest_name": "SEERC 2017",
      "contest_full_name": "SEERC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1825,
          "problem_letter": "A",
          "problem_id": 15393,
          "problem_name": "Concerts",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "B",
          "problem_id": 15394,
          "problem_name": "Bricks",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "C",
          "problem_id": 15395,
          "problem_name": "Christmas Tree",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1825,
          "problem_letter": "D",
          "problem_id": 15396,
          "problem_name": "Harry Potter and The Vector Spell",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "data structures",
            "disjoint set",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "disjoint_set",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "E",
          "problem_id": 15397,
          "problem_name": "Looping Playlist",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "F",
          "problem_id": 15398,
          "problem_name": "Binary Transformations",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "G",
          "problem_id": 15399,
          "problem_name": "Robots",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting",
            "physics"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "physics"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "H",
          "problem_id": 15400,
          "problem_name": "Cat and Mouse",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1825,
          "problem_letter": "I",
          "problem_id": 15401,
          "problem_name": "Tetris",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "bruteforcing",
            "data structures",
            "dynamic programming",
            "implementation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "data_structures",
            "dp",
            "implementation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "J",
          "problem_id": 15402,
          "problem_name": "Cunning Friends",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "game theory"
          ],
          "tag_keys": [
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "K",
          "problem_id": 15403,
          "problem_name": "Escape Room",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1825,
          "problem_letter": "L",
          "problem_id": 15404,
          "problem_name": "Divide and Conquer",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "lowest common ancestor",
            "prefix sum",
            "tree"
          ],
          "tag_keys": [
            "lca",
            "prefix_sum",
            "trees"
          ],
          "tag_details": [
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1826,
      "contest_name": "SWERC 2017",
      "contest_full_name": "SWERC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 1826,
          "problem_letter": "A",
          "problem_id": 15410,
          "problem_name": "Cakey McCakeFace",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hash_set",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "B",
          "problem_id": 15411,
          "problem_name": "Table",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "prefix sum",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "prefix_sum",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "C",
          "problem_id": 15412,
          "problem_name": "Macarons",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "D",
          "problem_id": 15413,
          "problem_name": "Candy Chain",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "E",
          "problem_id": 15414,
          "problem_name": "Ingredients",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "directed acyclic graph",
            "data structures",
            "dynamic programming",
            "graph theory",
            "knapsack",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "data_structures",
            "dp",
            "graphs",
            "knapsack",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "F",
          "problem_id": 15415,
          "problem_name": "Shattered Cake",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "G",
          "problem_id": 15416,
          "problem_name": "Cordon Bleu",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow",
            "hungarian"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf",
            "hungarian"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "H",
          "problem_id": 15417,
          "problem_name": "Kabobs",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "I",
          "problem_id": 15418,
          "problem_name": "Burglary",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "case work",
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "J",
          "problem_id": 15419,
          "problem_name": "Frosting on the Cake",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "K",
          "problem_id": 15420,
          "problem_name": "Blowing Candles",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "convex hull",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "PA",
          "problem_id": 15405,
          "problem_name": "Menu Tour",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "PB",
          "problem_id": 15406,
          "problem_name": "Check the Check",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "PC",
          "problem_id": 15407,
          "problem_name": "How to Eat at a Buffet",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1826,
          "problem_letter": "PD",
          "problem_id": 15408,
          "problem_name": "French Dinner",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1826,
          "problem_letter": "PE",
          "problem_id": 15409,
          "problem_name": "Majestic Gourmet University",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1827,
      "contest_name": "ACM-ICPC North America Qualifier 2017",
      "contest_full_name": "ACM-ICPC North America Qualifier 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1827,
          "problem_letter": "A",
          "problem_id": 15421,
          "problem_name": "Birthday Cake",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "B",
          "problem_id": 15422,
          "problem_name": "Bumped!",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "C",
          "problem_id": 15423,
          "problem_name": "Canonical Coin Systems",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "D",
          "problem_id": 15424,
          "problem_name": "Cat and Mice",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "binary_search",
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "E",
          "problem_id": 15425,
          "problem_name": "Company Picnic",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "F",
          "problem_id": 15426,
          "problem_name": "GlitchBot",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "G",
          "problem_id": 15427,
          "problem_name": "Greeting Card",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "geometry",
            "set / map by hashing",
            "mathematics",
            "precomputation",
            "pythagoras theorem",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "hash_set",
            "math",
            "precomputation",
            "pythagoras",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "H",
          "problem_id": 15428,
          "problem_name": "Imperfect GPS",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "I",
          "problem_id": 15429,
          "problem_name": "Odd Gnome",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "J",
          "problem_id": 15430,
          "problem_name": "Progressive Scramble",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "K",
          "problem_id": 15431,
          "problem_name": "Space Probe",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "L",
          "problem_id": 15432,
          "problem_name": "Suspension Bridges",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1827,
          "problem_letter": "M",
          "problem_id": 15433,
          "problem_name": "Umbral Decoding",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1836,
      "contest_name": "TOPC 2017",
      "contest_full_name": "TOPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1836,
          "problem_letter": "A",
          "problem_id": 15466,
          "problem_name": "Similarity Computation",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1836,
          "problem_letter": "B",
          "problem_id": 15467,
          "problem_name": "The Combination of Poker Cards",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1836,
          "problem_letter": "C",
          "problem_id": 15468,
          "problem_name": "Coloring Intervals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1836,
          "problem_letter": "D",
          "problem_id": 15469,
          "problem_name": "Mixing Coins",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "stack",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "stack",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 1836,
          "problem_letter": "E",
          "problem_id": 15470,
          "problem_name": "Fences",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "case work",
            "geometry",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "case_work",
            "geometry",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1836,
          "problem_letter": "F",
          "problem_id": 15471,
          "problem_name": "A Simple Function",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "modular multiplicative inverse",
            "fermat's little theorem",
            "lucas theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "modular_multiplicative_inverse",
            "flt",
            "lucas"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "lucas",
              "name": "lucas theorem",
              "boj_tag_id": 113
            }
          ]
        },
        {
          "contest_id": 1836,
          "problem_letter": "G",
          "problem_id": 15472,
          "problem_name": "The Jet-Black Wings",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1836,
          "problem_letter": "H",
          "problem_id": 15473,
          "problem_name": "HH Country",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1842,
      "contest_name": "Asia Regional Contest 2002 in Kanazawa",
      "contest_full_name": "Asia Regional Contest 2002 in Kanazawa",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1842,
          "problem_letter": "A",
          "problem_id": 15540,
          "problem_name": "Calling Extraterrestrial Intelligence Again",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1842,
          "problem_letter": "B",
          "problem_id": 15541,
          "problem_name": "Equals are Equals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "parsing",
            "randomization",
            "regular expression",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "randomization",
            "regex",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1842,
          "problem_letter": "C",
          "problem_id": 15542,
          "problem_name": "GIGA Universe Cup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1842,
          "problem_letter": "D",
          "problem_id": 15543,
          "problem_name": "Life Line",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1842,
          "problem_letter": "E",
          "problem_id": 15544,
          "problem_name": "Map of Ninja House",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1842,
          "problem_letter": "F",
          "problem_id": 15545,
          "problem_name": "Shredding Company",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1842,
          "problem_letter": "G",
          "problem_id": 2265,
          "problem_name": "거짓말쟁이",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1842,
          "problem_letter": "H",
          "problem_id": 15546,
          "problem_name": "Viva Confetti",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1852,
      "contest_name": "NWERC 2017",
      "contest_full_name": "NWERC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 1852,
          "problem_letter": "A",
          "problem_id": 15599,
          "problem_name": "Ascending Photo",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "B",
          "problem_id": 15600,
          "problem_name": "Boss Battle",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "greedy",
            "game theory"
          ],
          "tag_keys": [
            "greedy",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "C",
          "problem_id": 15601,
          "problem_name": "Connect the Dots",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "geometry",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "D",
          "problem_id": 15602,
          "problem_name": "Dunglish",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "combinatorics",
            "data structures",
            "set / map by hashing",
            "implementation",
            "mathematics",
            "set / map"
          ],
          "tag_keys": [
            "combinatorics",
            "data_structures",
            "hash_set",
            "implementation",
            "math",
            "set"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "E",
          "problem_id": 15603,
          "problem_name": "English Restaurant",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "greedy",
            "linearity of expectation",
            "mathematics",
            "probability theory",
            "recursion",
            "sorting"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "greedy",
            "linearity_of_expectation",
            "math",
            "probability",
            "recursion",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "F",
          "problem_id": 15604,
          "problem_name": "Factor-Free Tree",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "divide and conquer",
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "G",
          "problem_id": 15605,
          "problem_name": "Glyph Recognition",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "binary search",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "H",
          "problem_id": 15606,
          "problem_name": "High Score",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "I",
          "problem_id": 15607,
          "problem_name": "Installing Apps",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "J",
          "problem_id": 15608,
          "problem_name": "Juggling Troupe",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "K",
          "problem_id": 15609,
          "problem_name": "Knockout Tournament",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "combinatorics",
            "greedy",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "combinatorics",
            "greedy",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "PA",
          "problem_id": 15610,
          "problem_name": "Abbey Courtyard",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "PB",
          "problem_id": 15611,
          "problem_name": "Broken Gearbox",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1852,
          "problem_letter": "PC",
          "problem_id": 15612,
          "problem_name": "Cube Bits",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1853,
      "contest_name": "AMPPZ 2014",
      "contest_full_name": "AMPPZ 2014",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1853,
          "problem_letter": "A",
          "problem_id": 15613,
          "problem_name": "The Lawyer",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1853,
          "problem_letter": "B",
          "problem_id": 15614,
          "problem_name": "Petrol",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "dijkstra's",
            "graph theory",
            "minimum spanning tree",
            "sparse table",
            "shortest path"
          ],
          "tag_keys": [
            "data_structures",
            "dijkstra",
            "graphs",
            "mst",
            "sparse_table",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1853,
          "problem_letter": "C",
          "problem_id": 15615,
          "problem_name": "The Prices",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1853,
          "problem_letter": "D",
          "problem_id": 15616,
          "problem_name": "Divisors",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 1853,
          "problem_letter": "E",
          "problem_id": 15617,
          "problem_name": "Euclidean Nim",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "game theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "game_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1853,
          "problem_letter": "F",
          "problem_id": 15618,
          "problem_name": "Pillars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1853,
          "problem_letter": "G",
          "problem_id": 15619,
          "problem_name": "Global Warming",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1853,
          "problem_letter": "H",
          "problem_id": 15620,
          "problem_name": "Hit of the Season",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1853,
          "problem_letter": "I",
          "problem_id": 15621,
          "problem_name": "The Staging",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "implementation",
            "permutation cycle decomposition",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "permutation_cycle_decomposition",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1853,
          "problem_letter": "J",
          "problem_id": 15622,
          "problem_name": "The Cave",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "centroid",
            "centroid decomposition",
            "divide and conquer",
            "lowest common ancestor",
            "tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "centroid",
            "centroid_decomposition",
            "divide_and_conquer",
            "lca",
            "trees"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1853,
          "problem_letter": "K",
          "problem_id": 15623,
          "problem_name": "The Captain",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "value / coordinate compression",
            "dijkstra's",
            "graph theory",
            "shortest path",
            "sorting"
          ],
          "tag_keys": [
            "coordinate_compression",
            "dijkstra",
            "graphs",
            "shortest_path",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1859,
      "contest_name": "ACM-ICPC World Finals 2018",
      "contest_full_name": "ACM-ICPC World Finals 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1859,
          "problem_letter": "A",
          "problem_id": 15689,
          "problem_name": "Catch the Plane",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "B",
          "problem_id": 15690,
          "problem_name": "Comma Sprinkler",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "C",
          "problem_id": 15691,
          "problem_name": "Conquer The World",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "dynamic programming",
            "data structures",
            "graph theory",
            "tree",
            "dynamic programming on trees",
            "maximum flow",
            "smaller to larger technique",
            "splay tree",
            "slope trick"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "graphs",
            "trees",
            "dp_tree",
            "flow",
            "smaller_to_larger",
            "splay_tree",
            "slope_trick"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            },
            {
              "key": "slope_trick",
              "name": "slope trick",
              "boj_tag_id": 157
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "D",
          "problem_id": 15692,
          "problem_name": "Gem Island",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "E",
          "problem_id": 15693,
          "problem_name": "Getting a Jump on Crime",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "geometry",
            "breadth-first search",
            "physics"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "geometry",
            "bfs",
            "physics"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "F",
          "problem_id": 15694,
          "problem_name": "Go with the Flow",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "G",
          "problem_id": 15695,
          "problem_name": "Panda Preserve",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "geometry",
            "line segment intersection check",
            "point in non-convex polygon check",
            "voronoi diagram"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection",
            "point_in_non_convex_polygon",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "H",
          "problem_id": 15696,
          "problem_name": "Single Cut of Failure",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "greedy",
            "sorting",
            "ad-hoc",
            "constructive",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "ad_hoc",
            "constructive",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "I",
          "problem_id": 15697,
          "problem_name": "Triangles",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "dynamic programming",
            "data structures",
            "segment tree",
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "data_structures",
            "segtree",
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "J",
          "problem_id": 15698,
          "problem_name": "Uncrossed Knight’s Tour",
          "problem_difficulty": "Ruby I",
          "difficulty_level": 30,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "precomputation"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1859,
          "problem_letter": "K",
          "problem_id": 15699,
          "problem_name": "Wireless is the New Fiber",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "greedy",
            "sorting",
            "tree",
            "degree sequence"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "sorting",
            "trees",
            "degree_sequence"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "degree_sequence",
              "name": "degree sequence",
              "boj_tag_id": 200
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1882,
      "contest_name": "Al-Khawarizmi National Programming Contest 2018",
      "contest_full_name": "Al-Khawarizmi National Programming Contest 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Malaysia > Malaysia National Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1882,
          "problem_letter": "A",
          "problem_id": 15832,
          "problem_name": "Aku Negaraku",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "B",
          "problem_id": 15833,
          "problem_name": "Cheap Deliveries",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "bitmask",
            "shortest path",
            "dijkstra's",
            "dynamic programming using bitfield",
            "travelling salesman problem",
            "finding invariants"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "bitmask",
            "shortest_path",
            "dijkstra",
            "dp_bitfield",
            "tsp",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "C",
          "problem_id": 15834,
          "problem_name": "Eli's Curious Mind",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "D",
          "problem_id": 15835,
          "problem_name": "Explorace",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "E",
          "problem_id": 15836,
          "problem_name": "Matrix Multiplication Calculator",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "F",
          "problem_id": 15837,
          "problem_name": "Sum of Subrectangle Areas",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "G",
          "problem_id": 15838,
          "problem_name": "Wak Sani Satay",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1882,
          "problem_letter": "H",
          "problem_id": 15839,
          "problem_name": "Stroop Effect",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1882,
          "problem_letter": "I",
          "problem_id": 15840,
          "problem_name": "Super Ball",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1882,
          "problem_letter": "J",
          "problem_id": 15841,
          "problem_name": "Virus Outbreak",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1884,
      "contest_name": "ACM-ICPC Regional Contest, Jakarta 2017",
      "contest_full_name": "ACM-ICPC Regional Contest, Jakarta 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1884,
          "problem_letter": "A",
          "problem_id": 15845,
          "problem_name": "Winning ICPC",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "B",
          "problem_id": 15846,
          "problem_name": "Travelling Businessmen Problem",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "C",
          "problem_id": 15847,
          "problem_name": "Non-Interactive Guessing Number",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "D",
          "problem_id": 15848,
          "problem_name": "Make a Forest",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "E",
          "problem_id": 15849,
          "problem_name": "Parks of Jakarta",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1884,
          "problem_letter": "F",
          "problem_id": 15850,
          "problem_name": "Random Number Generator",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "G",
          "problem_id": 15851,
          "problem_name": "National Disaster: Two Towers",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1884,
          "problem_letter": "H",
          "problem_id": 15852,
          "problem_name": "ANTS",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "lowest common ancestor",
            "tree",
            "tree compression"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "lca",
            "trees",
            "tree_compression"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_compression",
              "name": "tree compression",
              "boj_tag_id": 193
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "I",
          "problem_id": 15853,
          "problem_name": "XEN 3166",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "J",
          "problem_id": 15854,
          "problem_name": "Meeting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "K",
          "problem_id": 15855,
          "problem_name": "Permutation",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "chinese remainder theorem",
            "mathematics",
            "number theory",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "crt",
            "math",
            "number_theory",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 1884,
          "problem_letter": "L",
          "problem_id": 15856,
          "problem_name": "Sacred Scarecrows",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1905,
      "contest_name": "2018 Japan Domestic Contest",
      "contest_full_name": "2018 Japan Domestic Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 1905,
          "problem_letter": "A",
          "problem_id": 16032,
          "problem_name": "Income Inequality",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1905,
          "problem_letter": "B",
          "problem_id": 16033,
          "problem_name": "Origami, or the art of folding paper",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1905,
          "problem_letter": "C",
          "problem_id": 16034,
          "problem_name": "Skyscraper “MinatoHarukas”",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1905,
          "problem_letter": "D",
          "problem_id": 16035,
          "problem_name": "Playoff by all the teams",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1905,
          "problem_letter": "E",
          "problem_id": 16036,
          "problem_name": "Floating-Point Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1905,
          "problem_letter": "F",
          "problem_id": 16037,
          "problem_name": "Equilateral Triangular Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1905,
          "problem_letter": "G",
          "problem_id": 16038,
          "problem_name": "Expression Mining",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1905,
          "problem_letter": "H",
          "problem_id": 16039,
          "problem_name": "For Programming Excellence",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "data structures",
            "deque",
            "deque range maximum trick",
            "dynamic programming",
            "dynamic programming using a deque",
            "dynamic programming on trees",
            "recursion",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "deque",
            "deque_trick",
            "dp",
            "dp_deque",
            "dp_tree",
            "recursion",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "deque_trick",
              "name": "deque range maximum trick",
              "boj_tag_id": 216
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_deque",
              "name": "dynamic programming using a deque",
              "boj_tag_id": 108
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1906,
      "contest_name": "NAIPC 2018",
      "contest_full_name": "NAIPC 2018",
      "contest_year": 2018,
      "contest_path": "North American Invitational Programming Contest | University > NAIPC",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1906,
          "problem_letter": "A",
          "problem_id": 16040,
          "problem_name": "Cut It Out!",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1906,
          "problem_letter": "B",
          "problem_id": 16041,
          "problem_name": "Double Clique",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "graph theory",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "C",
          "problem_id": 16042,
          "problem_name": "Flashing Fluorescents",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "bitmask",
            "dynamic programming using bitfield",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "graph_traversal",
            "bfs",
            "bitmask",
            "dp_bitfield",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "D",
          "problem_id": 16043,
          "problem_name": "Missing Gnomes",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "E",
          "problem_id": 16044,
          "problem_name": "Prefix Free Code",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "data structures",
            "string",
            "tree",
            "number theory",
            "segment tree",
            "combinatorics",
            "modular multiplicative inverse",
            "trie"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "string",
            "trees",
            "number_theory",
            "segtree",
            "combinatorics",
            "modular_multiplicative_inverse",
            "trie"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "F",
          "problem_id": 16045,
          "problem_name": "Probe Droids",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "binary search",
            "geometry",
            "mathematics",
            "number theory",
            "prefix sum"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "math",
            "number_theory",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "G",
          "problem_id": 16046,
          "problem_name": "Rainbow Graph",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "matroid"
          ],
          "tag_keys": [
            "matroid"
          ],
          "tag_details": [
            {
              "key": "matroid",
              "name": "matroid",
              "boj_tag_id": 104
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "H",
          "problem_id": 16047,
          "problem_name": "Recovery",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive",
            "parity"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive",
            "parity"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "I",
          "problem_id": 16048,
          "problem_name": "Red Black Tree",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "J",
          "problem_id": 16049,
          "problem_name": "Winter Festival",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "articulation points and bridges",
            "cactus",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "tree"
          ],
          "tag_keys": [
            "articulation",
            "cactus",
            "dp",
            "dp_tree",
            "graphs",
            "trees"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1906,
          "problem_letter": "K",
          "problem_id": 16050,
          "problem_name": "Zoning Houses",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1907,
      "contest_name": "GCPC 2017",
      "contest_full_name": "GCPC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1907,
          "problem_letter": "A",
          "problem_id": 16051,
          "problem_name": "Drawing Borders",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1907,
          "problem_letter": "B",
          "problem_id": 16052,
          "problem_name": "Buildings",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "fermat's little theorem",
            "burnside's lemma"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "flt",
            "burnside"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "burnside",
              "name": "burnside's lemma",
              "boj_tag_id": 16
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "C",
          "problem_id": 16053,
          "problem_name": "Joyride",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "D",
          "problem_id": 16054,
          "problem_name": "Pants On Fire",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "breadth-first search",
            "data structures",
            "depth-first search",
            "floyd–warshall",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "shortest path",
            "set / map"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "dfs",
            "floyd_warshall",
            "graphs",
            "graph_traversal",
            "hash_set",
            "shortest_path",
            "set"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "E",
          "problem_id": 16055,
          "problem_name": "Perpetuum Mobile",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "mathematics",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "math",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "F",
          "problem_id": 16056,
          "problem_name": "Plug It In!",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "G",
          "problem_id": 16057,
          "problem_name": "Water Testing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "area of a polygon",
            "pick's theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "polygon_area",
            "pick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "pick",
              "name": "pick's theorem",
              "boj_tag_id": 187
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "H",
          "problem_id": 16058,
          "problem_name": "Ratatöskr",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "breadth-first search",
            "dynamic programming on trees",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "bfs",
            "dp_tree",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "I",
          "problem_id": 16059,
          "problem_name": "Überwatch",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "J",
          "problem_id": 16060,
          "problem_name": "Word Clock",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1907,
          "problem_letter": "K",
          "problem_id": 16061,
          "problem_name": "You Are Fired!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1908,
      "contest_name": "GCPC 2018",
      "contest_full_name": "GCPC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1908,
          "problem_letter": "A",
          "problem_id": 16062,
          "problem_name": "Attack on Alpha-Zet",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "lowest common ancestor",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "lca",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "B",
          "problem_id": 16063,
          "problem_name": "Battle Royale",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "C",
          "problem_id": 16064,
          "problem_name": "Coolest Ski Route",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting",
            "floyd–warshall"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "D",
          "problem_id": 16065,
          "problem_name": "Down the Pyramid",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "E",
          "problem_id": 16066,
          "problem_name": "Expired License",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "F",
          "problem_id": 16067,
          "problem_name": "Fighting Monsters",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "G",
          "problem_id": 16068,
          "problem_name": "GPS",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "H",
          "problem_id": 16069,
          "problem_name": "Hyper Illuminati",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "I",
          "problem_id": 16070,
          "problem_name": "It’s Time for a Montage",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "J",
          "problem_id": 16071,
          "problem_name": "Jigsaw Puzzle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "K",
          "problem_id": 16072,
          "problem_name": "Kitchen Cable Chaos",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "L",
          "problem_id": 16073,
          "problem_name": "Logic Puzzle",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1908,
          "problem_letter": "M",
          "problem_id": 16074,
          "problem_name": "Mountaineers",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "binary search",
            "disjoint set",
            "minimum spanning tree",
            "parallel binary search"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "binary_search",
            "disjoint_set",
            "mst",
            "pbs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "pbs",
              "name": "parallel binary search",
              "boj_tag_id": 54
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1909,
      "contest_name": "Mongolia National Programming Contest 2018",
      "contest_full_name": "Mongolia National Programming Contest 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia East Continent > Mongolia > Mongolia National Programming Contest ",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1909,
          "problem_letter": "A",
          "problem_id": 16077,
          "problem_name": "Монгол ардын үлгэр",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "B",
          "problem_id": 16078,
          "problem_name": "Хаалт",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "C",
          "problem_id": 16079,
          "problem_name": "Тоглоом",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1909,
          "problem_letter": "D",
          "problem_id": 16080,
          "problem_name": "And",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "E",
          "problem_id": 16081,
          "problem_name": "Жагсаал",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "F",
          "problem_id": 16082,
          "problem_name": "Гоё тоо",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "G",
          "problem_id": 16083,
          "problem_name": "Хоёртын хайлтын мод",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "tree"
          ],
          "tag_keys": [
            "trees"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "H",
          "problem_id": 16084,
          "problem_name": "Бас нэгэн Графын бодлого",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "backtracking"
          ],
          "tag_keys": [
            "string",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "I",
          "problem_id": 16085,
          "problem_name": "Гэмт хэрэг",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1909,
          "problem_letter": "J",
          "problem_id": 16086,
          "problem_name": "Дайн",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1910,
      "contest_name": "Concours interne de programmation Télécom ParisTech 2018",
      "contest_full_name": "Concours interne de programmation Télécom ParisTech 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest > Télécom ParisTech Internal Selection",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 1910,
          "problem_letter": "A",
          "problem_id": 16087,
          "problem_name": "It’s a Jungle Out There",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1910,
          "problem_letter": "B",
          "problem_id": 16088,
          "problem_name": "Finding Your Coach",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1910,
          "problem_letter": "C",
          "problem_id": 16089,
          "problem_name": "Pipe Hype",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1910,
          "problem_letter": "D",
          "problem_id": 16090,
          "problem_name": "Twenty Thousand Leagues Under the Sea",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1910,
          "problem_letter": "E",
          "problem_id": 16091,
          "problem_name": "Cruise Quail",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1910,
          "problem_letter": "F",
          "problem_id": 16092,
          "problem_name": "Willy Feels Guilty",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1910,
          "problem_letter": "G",
          "problem_id": 16093,
          "problem_name": "The Total is Right",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1911,
      "contest_name": "Concours interne de programmation Télécom ParisTech 2017",
      "contest_full_name": "Concours interne de programmation Télécom ParisTech 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest > Télécom ParisTech Internal Selection",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 1911,
          "problem_letter": "A",
          "problem_id": 16094,
          "problem_name": "Lush Gears",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "knapsack"
          ],
          "tag_keys": [
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 1911,
          "problem_letter": "B",
          "problem_id": 16095,
          "problem_name": "Amateur Radio Network",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "binary search",
            "parametric search",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "parametric_search",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 1911,
          "problem_letter": "C",
          "problem_id": 16096,
          "problem_name": "Life on a Torus",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1911,
          "problem_letter": "D",
          "problem_id": 16097,
          "problem_name": "Grumpy Groundhogs in Gridland",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "sorting",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1911,
          "problem_letter": "E",
          "problem_id": 16098,
          "problem_name": "Commuting Mathematicians",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1911,
          "problem_letter": "F",
          "problem_id": 16099,
          "problem_name": "Larger Sport Facility",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1912,
      "contest_name": "2017 ACM South Pacific Programming Contest",
      "contest_full_name": "2017 ACM South Pacific Programming Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1912,
          "problem_letter": "A",
          "problem_id": 16100,
          "problem_name": "Andrew’s Amazing Architecture",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "B",
          "problem_id": 16101,
          "problem_name": "Banner",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "C",
          "problem_id": 16102,
          "problem_name": "Catan’s Longest Road",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "D",
          "problem_id": 16103,
          "problem_name": "Drawn and Quartered",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "E",
          "problem_id": 16104,
          "problem_name": "Extending Rock-Paper-Scissors",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "F",
          "problem_id": 16105,
          "problem_name": "Fair Share",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "sorting",
            "geometry",
            "case work",
            "two-pointer",
            "rotating calipers"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "geometry",
            "case_work",
            "two_pointer",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "G",
          "problem_id": 16106,
          "problem_name": "Grievous Loss of Data",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "chordal graph",
            "data structures",
            "graph theory",
            "graph traversal",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "chordal_graph",
            "data_structures",
            "graphs",
            "graph_traversal",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "chordal_graph",
              "name": "chordal graph",
              "boj_tag_id": 201
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "H",
          "problem_id": 16107,
          "problem_name": "Hiding Merlin",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "I",
          "problem_id": 16108,
          "problem_name": "Injecting DNA",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "string",
            "segment tree",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "segtree",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "J",
          "problem_id": 16109,
          "problem_name": "Judge’s Mistake",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "greedy"
          ],
          "tag_keys": [
            "graphs",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "K",
          "problem_id": 16110,
          "problem_name": "Kiwis vs Kangaroos II",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1912,
          "problem_letter": "L",
          "problem_id": 16111,
          "problem_name": "Last Casino",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1920,
      "contest_name": "INC 2009",
      "contest_full_name": "INC 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 1920,
          "problem_letter": "A",
          "problem_id": 16175,
          "problem_name": "General Election",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1920,
          "problem_letter": "B",
          "problem_id": 16176,
          "problem_name": "Liar Game",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "exponentiation by squaring",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1920,
          "problem_letter": "C",
          "problem_id": 16177,
          "problem_name": "Why is Math Book So Sad?",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1920,
          "problem_letter": "D",
          "problem_id": 16178,
          "problem_name": "Noodle Team Contest",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1920,
          "problem_letter": "E",
          "problem_id": 16179,
          "problem_name": "Palapa Number",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1920,
          "problem_letter": "F",
          "problem_id": 16180,
          "problem_name": "New House",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1935,
      "contest_name": "Seoul Nationalwide Internet Competition 2018",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1935,
          "problem_letter": "A",
          "problem_id": 16282,
          "problem_name": "Black Chain",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "B",
          "problem_id": 16283,
          "problem_name": "Farm",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "C",
          "problem_id": 16284,
          "problem_name": "Lucid Strings",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "data structures",
            "hashing",
            "segment tree",
            "string",
            "suffix array and lcp array",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "hashing",
            "segtree",
            "string",
            "suffix_array",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "D",
          "problem_id": 16285,
          "problem_name": "Matching",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1935,
          "problem_letter": "E",
          "problem_id": 16286,
          "problem_name": "Panokseon",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "binary search",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "dp",
            "binary_search",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "F",
          "problem_id": 16287,
          "problem_name": "Parcel",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "meet in the middle"
          ],
          "tag_keys": [
            "dp",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "G",
          "problem_id": 16288,
          "problem_name": "Passport Control",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "H",
          "problem_id": 16289,
          "problem_name": "Path Embedding",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1935,
          "problem_letter": "I",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1935,
          "problem_letter": "J",
          "problem_id": 16290,
          "problem_name": "Sliding Blocks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1935,
          "problem_letter": "K",
          "problem_id": 16291,
          "problem_name": "Suffix-Freeness",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1935,
          "problem_letter": "L",
          "problem_id": 16292,
          "problem_name": "Three Robots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1936,
      "contest_name": "BAPC 2018 Preliminaries",
      "contest_full_name": "BAPC 2018 Preliminaries",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1936,
          "problem_letter": "A",
          "problem_id": 16293,
          "problem_name": "Appalling Architecture",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "physics"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "B",
          "problem_id": 16294,
          "problem_name": "Bee Problem",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "breadth-first search",
            "depth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "bfs",
            "dfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "C",
          "problem_id": 16295,
          "problem_name": "Criss-Cross Cables",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "D",
          "problem_id": 16296,
          "problem_name": "Daily Division",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "ternary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "E",
          "problem_id": 16297,
          "problem_name": "Eating Everything Efficiently",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "F",
          "problem_id": 16298,
          "problem_name": "Floating Points",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "G",
          "problem_id": 16299,
          "problem_name": "Green Light",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "prefix sum",
            "probability theory",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "math",
            "prefix_sum",
            "probability",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "H",
          "problem_id": 16300,
          "problem_name": "H to O",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "I",
          "problem_id": 16301,
          "problem_name": "Isomorphic Inversion",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "string",
            "hashing",
            "rabin–karp"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "hashing",
            "rabin_karp"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "J",
          "problem_id": 16302,
          "problem_name": "Jurassic Jigsaw",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1936,
          "problem_letter": "K",
          "problem_id": 16303,
          "problem_name": "KALLAX Construction",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1937,
      "contest_name": "BAPC 2018",
      "contest_full_name": "BAPC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1937,
          "problem_letter": "A",
          "problem_id": 16304,
          "problem_name": "A Prize No One Can Win",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "B",
          "problem_id": 16305,
          "problem_name": "Birthday Boy",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "ad-hoc",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "ad_hoc",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "C",
          "problem_id": 16306,
          "problem_name": "Cardboard Container",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "D",
          "problem_id": 16307,
          "problem_name": "Driver Disagreement",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "breadth-first search",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "bfs",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "E",
          "problem_id": 16308,
          "problem_name": "Entirely Unsorted Sequences",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "F",
          "problem_id": 16309,
          "problem_name": "Financial Planning",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "binary search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "G",
          "problem_id": 16310,
          "problem_name": "Game Night",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "H",
          "problem_id": 16311,
          "problem_name": "Harry the Hamster",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "game theory"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "I",
          "problem_id": 16312,
          "problem_name": "In Case of an Invasion, Please. . .",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "J",
          "problem_id": 16313,
          "problem_name": "Janitor Troubles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1937,
          "problem_letter": "K",
          "problem_id": 16314,
          "problem_name": "Kingpin Escape",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "constructive",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "constructive",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1938,
      "contest_name": "NCPC 2018",
      "contest_full_name": "NCPC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1938,
          "problem_letter": "A",
          "problem_id": 16315,
          "problem_name": "Altruistic Amphibians",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "B",
          "problem_id": 16316,
          "problem_name": "Baby Bites",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "C",
          "problem_id": 16317,
          "problem_name": "Code Cleanups",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "D",
          "problem_id": 16318,
          "problem_name": "Delivery Delays",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "E",
          "problem_id": 16319,
          "problem_name": "Explosion Exploit",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "set / map"
          ],
          "tag_keys": [
            "math",
            "dp",
            "set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "F",
          "problem_id": 16320,
          "problem_name": "Firing the Phaser",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1938,
          "problem_letter": "G",
          "problem_id": 16321,
          "problem_name": "Game Scheduling",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "H",
          "problem_id": 16322,
          "problem_name": "House Lawn",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "I",
          "problem_id": 16323,
          "problem_name": "Intergalactic Bidding",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "greedy",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "J",
          "problem_id": 16324,
          "problem_name": "Jumbled String",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1938,
          "problem_letter": "K",
          "problem_id": 16325,
          "problem_name": "King’s Colors",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "combinatorics",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1939,
      "contest_name": "SEERC 2018",
      "contest_full_name": "SEERC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1939,
          "problem_letter": "A",
          "problem_id": 16326,
          "problem_name": "Numbers",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bruteforcing",
            "mathematics",
            "number theory",
            "recursion"
          ],
          "tag_keys": [
            "bruteforcing",
            "math",
            "number_theory",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "B",
          "problem_id": 16327,
          "problem_name": "Broken Watch",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "C",
          "problem_id": 16328,
          "problem_name": "Tree",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "D",
          "problem_id": 16329,
          "problem_name": "Space Station",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "maximum flow",
            "greedy",
            "minimum cost maximum flow",
            "tree",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "flow",
            "greedy",
            "mcmf",
            "trees",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "E",
          "problem_id": 16330,
          "problem_name": "Fishermen",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "sorting",
            "binary search",
            "prefix sum"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "binary_search",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "F",
          "problem_id": 16331,
          "problem_name": "Min Max Convert",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "greedy",
            "stack",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stack",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "G",
          "problem_id": 16332,
          "problem_name": "Matrix Queries",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "H",
          "problem_id": 16333,
          "problem_name": "Modern Djinn",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "randomization"
          ],
          "tag_keys": [
            "randomization"
          ],
          "tag_details": [
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "I",
          "problem_id": 16334,
          "problem_name": "Inversion",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "combinatorics",
            "topological sorting"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "combinatorics",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "J",
          "problem_id": 16335,
          "problem_name": "Rabbit vs Turtle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "dijkstra's",
            "graph theory",
            "prefix sum",
            "shortest path"
          ],
          "tag_keys": [
            "binary_search",
            "dijkstra",
            "graphs",
            "prefix_sum",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 1939,
          "problem_letter": "K",
          "problem_id": 16336,
          "problem_name": "Points and Rectangles",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer",
            "offline queries",
            "cdq"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer",
            "offline_queries",
            "cdq"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "cdq",
              "name": "cdq",
              "boj_tag_id": 237
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1940,
      "contest_name": "CTU Open Contest 2018",
      "contest_full_name": "CTU Open Contest 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1940,
          "problem_letter": "D",
          "problem_id": 16337,
          "problem_name": "Die",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "E",
          "problem_id": 16338,
          "problem_name": "Escalators",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "F",
          "problem_id": 16339,
          "problem_name": "Moving Furniture",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "G",
          "problem_id": 16340,
          "problem_name": "Split Game",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "H",
          "problem_id": 16341,
          "problem_name": "Horsemeet",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "parity"
          ],
          "tag_keys": [
            "ad_hoc",
            "parity"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "I",
          "problem_id": 16342,
          "problem_name": "Lighting",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "L",
          "problem_id": 16343,
          "problem_name": "Locker Room",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "string",
            "segment tree",
            "set / map",
            "segment tree with lazy propagation",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "string",
            "segtree",
            "set",
            "lazyprop",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "N",
          "problem_id": 16344,
          "problem_name": "Numbers Generator",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "aho-corasick",
            "data structures",
            "gaussian elimination",
            "linear algebra",
            "mathematics",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "data_structures",
            "gaussian_elimination",
            "linear_algebra",
            "math",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "R",
          "problem_id": 16345,
          "problem_name": "Rullete",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1940,
          "problem_letter": "S",
          "problem_id": 16346,
          "problem_name": "Security Guards",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "binary search",
            "prefix sum",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "binary_search",
            "prefix_sum",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1941,
      "contest_name": "CPC 2018",
      "contest_full_name": "CPC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1941,
          "problem_letter": "A",
          "problem_id": 16347,
          "problem_name": "Alloc",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "data structures",
            "segment tree",
            "linked list"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "segtree",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 1941,
          "problem_letter": "B",
          "problem_id": 16348,
          "problem_name": "Flauta",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1941,
          "problem_letter": "C",
          "problem_id": 16349,
          "problem_name": "Ghost leg",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc",
            "data structures",
            "divide and conquer"
          ],
          "tag_keys": [
            "ad_hoc",
            "data_structures",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 1941,
          "problem_letter": "D",
          "problem_id": 16350,
          "problem_name": "Hulja",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1941,
          "problem_letter": "E",
          "problem_id": 16351,
          "problem_name": "Luka",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1941,
          "problem_letter": "F",
          "problem_id": 16352,
          "problem_name": "Menza",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1941,
          "problem_letter": "G",
          "problem_id": 16353,
          "problem_name": "Načitan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1941,
          "problem_letter": "H",
          "problem_id": 16354,
          "problem_name": "Ploča",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "recursion"
          ],
          "tag_keys": [
            "dp",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1941,
          "problem_letter": "I",
          "problem_id": 16355,
          "problem_name": "Reality",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1941,
          "problem_letter": "J",
          "problem_id": 16356,
          "problem_name": "Stablo u stablu",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1942,
      "contest_name": "Asia Regional - Seoul 2018",
      "contest_full_name": "Asia Regional - Seoul 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1942,
          "problem_letter": "A",
          "problem_id": 16357,
          "problem_name": "Circuits",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "B",
          "problem_id": 16358,
          "problem_name": "Cosmetic Survey",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "C",
          "problem_id": 16359,
          "problem_name": "Disks Arrangement",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "greedy",
            "ad-hoc",
            "geometry"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "D",
          "problem_id": 16360,
          "problem_name": "Go Latin",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "E",
          "problem_id": 16361,
          "problem_name": "LED",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "F",
          "problem_id": 16362,
          "problem_name": "Parentheses",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "case work",
            "data structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "implementation",
            "parsing",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "G",
          "problem_id": 16363,
          "problem_name": "Secret Code",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "calculus",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "H",
          "problem_id": 16364,
          "problem_name": "Simple Polygon",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "dynamic programming",
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "I",
          "problem_id": 16365,
          "problem_name": "Square Root",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "graph theory",
            "chordal graph"
          ],
          "tag_keys": [
            "graphs",
            "chordal_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "chordal_graph",
              "name": "chordal graph",
              "boj_tag_id": 201
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "J",
          "problem_id": 16366,
          "problem_name": "Starwars",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "K",
          "problem_id": 16367,
          "problem_name": "TV Show Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "traceback",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "traceback",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 1942,
          "problem_letter": "L",
          "problem_id": 16368,
          "problem_name": "Working Plan",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1944,
      "contest_name": "NCNA 2017",
      "contest_full_name": "NCNA 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1944,
          "problem_letter": "A",
          "problem_id": 16384,
          "problem_name": "Stoichiometry",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "B",
          "problem_id": 16385,
          "problem_name": "Pokemon Go Go",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "data structures",
            "set / map",
            "bitmask",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "set",
            "bitmask",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "C",
          "problem_id": 16386,
          "problem_name": "Urban Design",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "D",
          "problem_id": 16387,
          "problem_name": "Smooth Array",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "E",
          "problem_id": 16388,
          "problem_name": "Is-A? Has-A? Who Knowz-A?",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "F",
          "problem_id": 16389,
          "problem_name": "Atlantis",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "G",
          "problem_id": 16390,
          "problem_name": "Sheba’s Amoebas",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "H",
          "problem_id": 16391,
          "problem_name": "Zebras and Ocelots",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "I",
          "problem_id": 16392,
          "problem_name": "Racing Around the Alphabet",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "string",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "string",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1944,
          "problem_letter": "J",
          "problem_id": 16393,
          "problem_name": "Lost Map",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1946,
      "contest_name": "2018 Mid-Central Regional Programming Contest",
      "contest_full_name": "2018 Mid-Central Regional Programming Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1946,
          "problem_letter": "A",
          "problem_id": 16405,
          "problem_name": "Treehouses",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "B",
          "problem_id": 16406,
          "problem_name": "Exam",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "C",
          "problem_id": 16407,
          "problem_name": "Cops and Robbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "D",
          "problem_id": 16408,
          "problem_name": "Poker Hand",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "E",
          "problem_id": 16409,
          "problem_name": "Coprime Integers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "inclusion and exclusion",
            "möbius inversion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "inclusion_and_exclusion",
            "mobius_inversion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "F",
          "problem_id": 16410,
          "problem_name": "Goat Rope",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "G",
          "problem_id": 16411,
          "problem_name": "Illiteracy",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "string",
            "graph traversal",
            "breadth-first search",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "string",
            "graph_traversal",
            "bfs",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "H",
          "problem_id": 16412,
          "problem_name": "Heir’s Dilemma",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "I",
          "problem_id": 16413,
          "problem_name": "Random Manhattan Distance",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "sweeping",
            "probability theory",
            "convex hull",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "sweeping",
            "probability",
            "convex_hull",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "J",
          "problem_id": 16414,
          "problem_name": "Mobilization",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1946,
          "problem_letter": "K",
          "problem_id": 16415,
          "problem_name": "Repeated Substrings",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1947,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2018 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1947,
          "problem_letter": "A",
          "problem_id": 16416,
          "problem_name": "Abstract Art",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "B",
          "problem_id": 16417,
          "problem_name": "Count the Bits",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "C",
          "problem_id": 16406,
          "problem_name": "Exam",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "D",
          "problem_id": 16411,
          "problem_name": "Illiteracy",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "string",
            "graph traversal",
            "breadth-first search",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "string",
            "graph_traversal",
            "bfs",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "E",
          "problem_id": 16418,
          "problem_name": "Inversions",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull trick",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "cht",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "F",
          "problem_id": 16419,
          "problem_name": "Knockout",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "implementation",
            "mathematics",
            "probability theory",
            "tree"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_tree",
            "implementation",
            "math",
            "probability",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "G",
          "problem_id": 16414,
          "problem_name": "Mobilization",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "H",
          "problem_id": 16420,
          "problem_name": "Paper Strips",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1947,
          "problem_letter": "I",
          "problem_id": 16421,
          "problem_name": "Rectangles",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "J",
          "problem_id": 16422,
          "problem_name": "Area Rug",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1947,
          "problem_letter": "K",
          "problem_id": 16423,
          "problem_name": "To Tell the Truth",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "ad-hoc"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1948,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2018 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1948,
          "problem_letter": "A",
          "problem_id": 16406,
          "problem_name": "Exam",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "B",
          "problem_id": 16410,
          "problem_name": "Goat Rope",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "C",
          "problem_id": 16424,
          "problem_name": "Repeating Goldbachs",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "D",
          "problem_id": 16411,
          "problem_name": "Illiteracy",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "string",
            "graph traversal",
            "breadth-first search",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "string",
            "graph_traversal",
            "bfs",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "E",
          "problem_id": 16419,
          "problem_name": "Knockout",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "implementation",
            "mathematics",
            "probability theory",
            "tree"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_tree",
            "implementation",
            "math",
            "probability",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "F",
          "problem_id": 16421,
          "problem_name": "Rectangles",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "G",
          "problem_id": 16425,
          "problem_name": "Random Index Vectors",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "two-pointer"
          ],
          "tag_keys": [
            "implementation",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "H",
          "problem_id": 16422,
          "problem_name": "Area Rug",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "I",
          "problem_id": 16426,
          "problem_name": "Sculpture",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "J",
          "problem_id": 16427,
          "problem_name": "Time Limits",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1948,
          "problem_letter": "K",
          "problem_id": 16423,
          "problem_name": "To Tell the Truth",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "ad-hoc"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1950,
      "contest_name": "A Primeira Fase da Maratona de Programação 2018",
      "contest_full_name": "A Primeira Fase da Maratona de Programação 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1950,
          "problem_letter": "A",
          "problem_id": 16442,
          "problem_name": "Aventurando-se no Slackline",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "inclusion and exclusion",
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "inclusion_and_exclusion",
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "B",
          "problem_id": 16443,
          "problem_name": "Bolinhas de Gude",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "C",
          "problem_id": 16444,
          "problem_name": "Cortador de Pizza",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "euler characteristic (χ=v-e+f)",
            "geometry",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "euler_characteristic",
            "geometry",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euler_characteristic",
              "name": "euler characteristic (χ=v-e+f)",
              "boj_tag_id": 119
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "D",
          "problem_id": 16445,
          "problem_name": "Desvendando Monty Hall",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "E",
          "problem_id": 16446,
          "problem_name": "Enigma",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "F",
          "problem_id": 16447,
          "problem_name": "Festival",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "sorting"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "G",
          "problem_id": 16448,
          "problem_name": "Gasolina",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "binary_search",
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "H",
          "problem_id": 16449,
          "problem_name": "Hipótese Policial",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "implementation",
            "knuth–morris–pratt",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "kmp",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "I",
          "problem_id": 16450,
          "problem_name": "Interruptores",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bitmask",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "bitmask",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "J",
          "problem_id": 16451,
          "problem_name": "Juntando Capitais",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1950,
          "problem_letter": "K",
          "problem_id": 16452,
          "problem_name": "Kepler",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1950,
          "problem_letter": "L",
          "problem_id": 16453,
          "problem_name": "Linhas de Metrô",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "segment tree with lazy propagation",
            "lowest common ancestor",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "lazyprop",
            "lca",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 1950,
          "problem_letter": "M",
          "problem_id": 16454,
          "problem_name": "Modificando SAT",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "string",
            "parsing",
            "linear algebra",
            "gaussian elimination",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "math",
            "string",
            "parsing",
            "linear_algebra",
            "gaussian_elimination",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1955,
      "contest_name": "NCNA 2018",
      "contest_full_name": "NCNA 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1955,
          "problem_letter": "A",
          "problem_id": 16511,
          "problem_name": "Pokegene",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "lowest common ancestor",
            "trie",
            "tree compression"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "lca",
            "trie",
            "tree_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "tree_compression",
              "name": "tree compression",
              "boj_tag_id": 193
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "B",
          "problem_id": 16512,
          "problem_name": "Maximum Subarrays",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "C",
          "problem_id": 16513,
          "problem_name": "Rational Ratio",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "parsing",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "parsing",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "D",
          "problem_id": 16514,
          "problem_name": "Travel the Skies",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "graph theory",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "E",
          "problem_id": 16515,
          "problem_name": "Euler’s Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "F",
          "problem_id": 16516,
          "problem_name": "Lipschitz Constant",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "G",
          "problem_id": 16517,
          "problem_name": "Tima goes to Xentopia",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "H",
          "problem_id": 16518,
          "problem_name": "New Salaries",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1955,
          "problem_letter": "I",
          "problem_id": 16519,
          "problem_name": "Other Side",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1955,
          "problem_letter": "J",
          "problem_id": 16520,
          "problem_name": "Kaleidoscopic Palindromes",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "implementation",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "implementation",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1956,
      "contest_name": "Latin America Regional Contests 2018",
      "contest_full_name": "Latin America Regional Contests 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1956,
          "problem_letter": "A",
          "problem_id": 16521,
          "problem_name": "A Symmetrical Pizza",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "B",
          "problem_id": 16522,
          "problem_name": "Building a Field",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "binary search",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "C",
          "problem_id": 16523,
          "problem_name": "Cheap Trips",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "D",
          "problem_id": 16524,
          "problem_name": "Database of Clients",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "set / map by trees",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set",
            "tree_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "E",
          "problem_id": 16525,
          "problem_name": "Escape, Polygon!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "geometry",
            "combinatorics",
            "two-pointer",
            "rotating calipers"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "combinatorics",
            "two_pointer",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "F",
          "problem_id": 16526,
          "problem_name": "Fantastic Beasts",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "chinese remainder theorem",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "crt",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "G",
          "problem_id": 16527,
          "problem_name": "Gathering Red-Black Fruits",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1956,
          "problem_letter": "H",
          "problem_id": 16528,
          "problem_name": "Highway Decommission",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "I",
          "problem_id": 16529,
          "problem_name": "Ink Colors",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "J",
          "problem_id": 16530,
          "problem_name": "Jeopardized Election",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "K",
          "problem_id": 16531,
          "problem_name": "KryptoLocker Ate my Homework",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "constructive",
            "recursion",
            "sorting"
          ],
          "tag_keys": [
            "bitmask",
            "constructive",
            "recursion",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "L",
          "problem_id": 16532,
          "problem_name": "Looking for the Risk Factor",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "mathematics",
            "number theory",
            "offline queries",
            "primality test",
            "segment tree",
            "sieve of eratosthenes",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "math",
            "number_theory",
            "offline_queries",
            "primality_test",
            "segtree",
            "sieve",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1956,
          "problem_letter": "M",
          "problem_id": 16533,
          "problem_name": "Mount Marathon",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1960,
      "contest_name": "2018 Greater New York Programming Contest",
      "contest_full_name": "2018 Greater New York Programming Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 1960,
          "problem_letter": "A",
          "problem_id": 16551,
          "problem_name": "Potato Sacks",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1960,
          "problem_letter": "B",
          "problem_id": 16552,
          "problem_name": "Moving Buildings",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1960,
          "problem_letter": "C",
          "problem_id": 16553,
          "problem_name": "Hedwig’s Ladder",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1960,
          "problem_letter": "D",
          "problem_id": 16554,
          "problem_name": "Tanks and Pipes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1960,
          "problem_letter": "E",
          "problem_id": 16555,
          "problem_name": "What time is it anyway?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1960,
          "problem_letter": "F",
          "problem_id": 16556,
          "problem_name": "Left-Right-Win",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1960,
          "problem_letter": "G",
          "problem_id": 16557,
          "problem_name": "The Erdös-Straus Conjecture",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1960,
          "problem_letter": "H",
          "problem_id": 16558,
          "problem_name": "Subprime Fibonacci Sequence",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "number theory",
            "set / map",
            "simulation",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "number_theory",
            "set",
            "simulation",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 1960,
          "problem_letter": "I",
          "problem_id": 16559,
          "problem_name": "Airspace Regulations",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1960,
          "problem_letter": "J",
          "problem_id": 16560,
          "problem_name": "Pinemi Puzzles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1965,
      "contest_name": "The 2018 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2018 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1965,
          "problem_letter": "A",
          "problem_id": 16573,
          "problem_name": "Edit Distance",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "B",
          "problem_id": 16574,
          "problem_name": "Rotating Gears",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "heavy-light decomposition",
            "link/cut tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "hld",
            "link_cut_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            },
            {
              "key": "link_cut_tree",
              "name": "link/cut tree",
              "boj_tag_id": 98
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "C",
          "problem_id": 16575,
          "problem_name": "Smart Thief",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "randomization",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "randomization",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "D",
          "problem_id": 16576,
          "problem_name": "Icy Land",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "E",
          "problem_id": 16577,
          "problem_name": "Artilleries and Defensive Walls",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "geometry",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "geometry",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "F",
          "problem_id": 16578,
          "problem_name": "Popping Balloons",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "G",
          "problem_id": 16579,
          "problem_name": "Go Make It Complete",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "H",
          "problem_id": 16580,
          "problem_name": "Lexical Sign Sequence",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "I",
          "problem_id": 16581,
          "problem_name": "Lie Detector",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "J",
          "problem_id": 16582,
          "problem_name": "Future Generation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "sorting"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "K",
          "problem_id": 16583,
          "problem_name": "Boomerangs",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1965,
          "problem_letter": "L",
          "problem_id": 16584,
          "problem_name": "Binary String",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1966,
      "contest_name": "INC 2018",
      "contest_full_name": "INC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1966,
          "problem_letter": "A",
          "problem_id": 16585,
          "problem_name": "Tour de BINUS",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "B",
          "problem_id": 16586,
          "problem_name": "Linked List",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "tree",
            "splay tree"
          ],
          "tag_keys": [
            "trees",
            "splay_tree"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "C",
          "problem_id": 16587,
          "problem_name": "Hierarchical Structure",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "sorting",
            "tree",
            "segment tree",
            "binary search",
            "prefix sum",
            "heavy-light decomposition",
            "merge sort tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "trees",
            "segtree",
            "binary_search",
            "prefix_sum",
            "hld",
            "merge_sort_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "D",
          "problem_id": 16588,
          "problem_name": "Substring Permutation",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "E",
          "problem_id": 16589,
          "problem_name": "The Good, the Great, and the Superb",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1966,
          "problem_letter": "F",
          "problem_id": 16590,
          "problem_name": "KMP",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "maximum flow",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "G",
          "problem_id": 16591,
          "problem_name": "Discs",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "H",
          "problem_id": 16592,
          "problem_name": "Plate Parity",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "I",
          "problem_id": 16593,
          "problem_name": "Expected Value of a Permutation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "J",
          "problem_id": 16594,
          "problem_name": "A Study on Groups",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1966,
          "problem_letter": "K",
          "problem_id": 16595,
          "problem_name": "Living Subgraph",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1966,
          "problem_letter": "L",
          "problem_id": 16596,
          "problem_name": "Fair Tournament",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1966,
          "problem_letter": "M",
          "problem_id": 16597,
          "problem_name": "Moving Around",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 1967,
      "contest_name": "NWERC 2018",
      "contest_full_name": "NWERC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 1967,
          "problem_letter": "A",
          "problem_id": 16601,
          "problem_name": "Access Points",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "B",
          "problem_id": 16602,
          "problem_name": "Brexit Negotiations",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "priority queue",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "priority_queue",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "C",
          "problem_id": 16603,
          "problem_name": "Circuit Board Design",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "geometry",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "geometry",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "D",
          "problem_id": 16604,
          "problem_name": "Date Pickup",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "binary search",
            "directed acyclic graph",
            "dijkstra's",
            "dynamic programming",
            "graph theory",
            "shortest path",
            "topological sorting"
          ],
          "tag_keys": [
            "binary_search",
            "dag",
            "dijkstra",
            "dp",
            "graphs",
            "shortest_path",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "E",
          "problem_id": 16605,
          "problem_name": "Equality Control",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "F",
          "problem_id": 16606,
          "problem_name": "Fastest Speedrun",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc",
            "dijkstra's",
            "dynamic programming",
            "graph theory",
            "greedy",
            "implementation",
            "shortest path",
            "simulation",
            "tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "dijkstra",
            "dp",
            "graphs",
            "greedy",
            "implementation",
            "shortest_path",
            "simulation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "G",
          "problem_id": 16607,
          "problem_name": "Game Design",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "H",
          "problem_id": 16608,
          "problem_name": "Hard Drive",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "I",
          "problem_id": 16609,
          "problem_name": "Inflation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "J",
          "problem_id": 16610,
          "problem_name": "Jinxed Betting",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "K",
          "problem_id": 16611,
          "problem_name": "Kleptography",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "PA",
          "problem_id": 16598,
          "problem_name": "Achievements",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "two-pointer"
          ],
          "tag_keys": [
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "PB",
          "problem_id": 16599,
          "problem_name": "Banana Republic",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "constructive",
            "dynamic programming"
          ],
          "tag_keys": [
            "constructive",
            "dp"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1967,
          "problem_letter": "PC",
          "problem_id": 16600,
          "problem_name": "Contemporary Art",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1968,
      "contest_name": "2018 ACM South Pacific Programming Contest",
      "contest_full_name": "2018 ACM South Pacific Programming Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1968,
          "problem_letter": "A",
          "problem_id": 16612,
          "problem_name": "Aligned Typesetting",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1968,
          "problem_letter": "B",
          "problem_id": 16613,
          "problem_name": "Bad Keming",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "knuth–morris–pratt",
            "string"
          ],
          "tag_keys": [
            "kmp",
            "string"
          ],
          "tag_details": [
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1968,
          "problem_letter": "C",
          "problem_id": 16614,
          "problem_name": "Collecting Stars",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1968,
          "problem_letter": "D",
          "problem_id": 16615,
          "problem_name": "Dropping Blocks",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc",
            "greedy"
          ],
          "tag_keys": [
            "ad_hoc",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 1968,
          "problem_letter": "E",
          "problem_id": 16616,
          "problem_name": "Explosive Wiring",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1968,
          "problem_letter": "F",
          "problem_id": 16617,
          "problem_name": "Far, Far Away",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "data structures",
            "graph theory",
            "shortest path",
            "parametric search",
            "sparse table",
            "floyd–warshall"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "graphs",
            "shortest_path",
            "parametric_search",
            "sparse_table",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 1968,
          "problem_letter": "G",
          "problem_id": 16618,
          "problem_name": "Good Cable Management",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1968,
          "problem_letter": "H",
          "problem_id": 16619,
          "problem_name": "Hazardous Driving",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1968,
          "problem_letter": "I",
          "problem_id": 16620,
          "problem_name": "Interesting World of Arrays",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bruteforcing",
            "combinatorics",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bruteforcing",
            "combinatorics",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 1968,
          "problem_letter": "J",
          "problem_id": 16621,
          "problem_name": "Judging Divisionals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1968,
          "problem_letter": "K",
          "problem_id": 16622,
          "problem_name": "Knights and Dragons",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1968,
          "problem_letter": "L",
          "problem_id": 16623,
          "problem_name": "Laps",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1969,
      "contest_name": "ACM-ICPC North America Qualifier 2018",
      "contest_full_name": "ACM-ICPC North America Qualifier 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1969,
          "problem_letter": "A",
          "problem_id": 16624,
          "problem_name": "Bingo Ties",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "B",
          "problem_id": 16625,
          "problem_name": "Das Blinkenlights",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "C",
          "problem_id": 16626,
          "problem_name": "Ebony and Ivory",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "D",
          "problem_id": 16627,
          "problem_name": "Froggie",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "E",
          "problem_id": 16628,
          "problem_name": "Fruit Slicer",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "F",
          "problem_id": 16629,
          "problem_name": "LCM Tree",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "G",
          "problem_id": 16630,
          "problem_name": "Left and Right",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "H",
          "problem_id": 16631,
          "problem_name": "Longest Life",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "I",
          "problem_id": 16632,
          "problem_name": "Monitoring Ski Paths",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "graph traversal",
            "tree",
            "set / map",
            "depth-first search",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "graph_traversal",
            "trees",
            "set",
            "dfs",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "J",
          "problem_id": 16633,
          "problem_name": "Peg Game for Two",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "K",
          "problem_id": 16634,
          "problem_name": "Run-Length Encoding, Run!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "L",
          "problem_id": 16635,
          "problem_name": "Superdoku",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching",
            "hall's theorem"
          ],
          "tag_keys": [
            "bipartite_matching",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 1969,
          "problem_letter": "M",
          "problem_id": 16636,
          "problem_name": "Triangular Clouds",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "greedy",
            "sorting",
            "geometry",
            "sweeping",
            "hashing"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "geometry",
            "sweeping",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1970,
      "contest_name": "NEERC Northern Subregional 2018",
      "contest_full_name": "NEERC Northern Subregional 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1970,
          "problem_letter": "A",
          "problem_id": 16648,
          "problem_name": "Accumulator Battery",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "B",
          "problem_id": 16649,
          "problem_name": "Building a Stair",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "C",
          "problem_id": 16650,
          "problem_name": "Counting Stairs",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "D",
          "problem_id": 16651,
          "problem_name": "Distinct Substrings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "E",
          "problem_id": 16652,
          "problem_name": "Email Destruction",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "F",
          "problem_id": 16653,
          "problem_name": "Forgotten Land",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bitmask",
            "combinatorics",
            "data structures",
            "disjoint set",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "data_structures",
            "disjoint_set",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "G",
          "problem_id": 16654,
          "problem_name": "Generalized German Quotation",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "greedy",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "H",
          "problem_id": 16655,
          "problem_name": "Halves Not Equal",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "I",
          "problem_id": 16656,
          "problem_name": "Interactive Array Guessing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "J",
          "problem_id": 16657,
          "problem_name": "Joined Vessels",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "prefix sum",
            "stack",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "prefix_sum",
            "stack",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "K",
          "problem_id": 16658,
          "problem_name": "Keyboard Consensus",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "ad-hoc",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 1970,
          "problem_letter": "L",
          "problem_id": 16659,
          "problem_name": "LED-led Paths",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1972,
      "contest_name": "NERC 2018",
      "contest_full_name": "NERC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1972,
          "problem_letter": "A",
          "problem_id": 16660,
          "problem_name": "Alice the Fan",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "B",
          "problem_id": 16661,
          "problem_name": "Bimatching",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "graph theory",
            "general matching"
          ],
          "tag_keys": [
            "graphs",
            "general_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "general_matching",
              "name": "general matching",
              "boj_tag_id": 15
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "C",
          "problem_id": 16662,
          "problem_name": "Cactus Search",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "cactus",
            "centroid",
            "floyd–warshall",
            "graph theory",
            "shortest path",
            "tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "cactus",
            "centroid",
            "floyd_warshall",
            "graphs",
            "shortest_path",
            "trees"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "D",
          "problem_id": 16663,
          "problem_name": "Distance Sum",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "prefix sum"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "graphs",
            "graph_traversal",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "E",
          "problem_id": 16664,
          "problem_name": "Easy Chess",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "F",
          "problem_id": 16665,
          "problem_name": "Fractions",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "G",
          "problem_id": 16666,
          "problem_name": "Guest Student",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "H",
          "problem_id": 16667,
          "problem_name": "Harder Satisfiability",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "I",
          "problem_id": 16668,
          "problem_name": "Interval-Free Permutations",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "J",
          "problem_id": 16669,
          "problem_name": "JS Minification",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1972,
          "problem_letter": "K",
          "problem_id": 16670,
          "problem_name": "King Kog’s Reception",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "L",
          "problem_id": 16671,
          "problem_name": "Lazyland",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1972,
          "problem_letter": "M",
          "problem_id": 16672,
          "problem_name": "Minegraphed",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1976,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2018 Pacific Northwest Region Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1976,
          "problem_letter": "A",
          "problem_id": 16406,
          "problem_name": "Exam",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "B",
          "problem_id": 16409,
          "problem_name": "Coprime Integers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "inclusion and exclusion",
            "möbius inversion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "inclusion_and_exclusion",
            "mobius_inversion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "C",
          "problem_id": 16688,
          "problem_name": "Contest Setting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "D",
          "problem_id": 16417,
          "problem_name": "Count the Bits",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "E",
          "problem_id": 16407,
          "problem_name": "Cops and Robbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "F",
          "problem_id": 16421,
          "problem_name": "Rectangles",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "G",
          "problem_id": 16410,
          "problem_name": "Goat Rope",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "H",
          "problem_id": 16424,
          "problem_name": "Repeating Goldbachs",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "I",
          "problem_id": 16418,
          "problem_name": "Inversions",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull trick",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "cht",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "J",
          "problem_id": 16427,
          "problem_name": "Time Limits",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "K",
          "problem_id": 16419,
          "problem_name": "Knockout",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "implementation",
            "mathematics",
            "probability theory",
            "tree"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_tree",
            "implementation",
            "math",
            "probability",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "L",
          "problem_id": 16689,
          "problem_name": "Liars",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1976,
          "problem_letter": "M",
          "problem_id": 16414,
          "problem_name": "Mobilization",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1977,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2018 Pacific Northwest Region Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 1977,
          "problem_letter": "N",
          "problem_id": 16406,
          "problem_name": "Exam",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "O",
          "problem_id": 16690,
          "problem_name": "Paper Cuts",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "P",
          "problem_id": 16688,
          "problem_name": "Contest Setting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "Q",
          "problem_id": 16408,
          "problem_name": "Poker Hand",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "R",
          "problem_id": 16691,
          "problem_name": "House Numbers",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "two-pointer"
          ],
          "tag_keys": [
            "math",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "S",
          "problem_id": 16692,
          "problem_name": "Greedy Scheduler",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "T",
          "problem_id": 16410,
          "problem_name": "Goat Rope",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "U",
          "problem_id": 16424,
          "problem_name": "Repeating Goldbachs",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "V",
          "problem_id": 16425,
          "problem_name": "Random Index Vectors",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "two-pointer"
          ],
          "tag_keys": [
            "implementation",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "W",
          "problem_id": 16427,
          "problem_name": "Time Limits",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "X",
          "problem_id": 16419,
          "problem_name": "Knockout",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "implementation",
            "mathematics",
            "probability theory",
            "tree"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_tree",
            "implementation",
            "math",
            "probability",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "Y",
          "problem_id": 16689,
          "problem_name": "Liars",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 1977,
          "problem_letter": "Z",
          "problem_id": 16693,
          "problem_name": "Pizza Deal",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1978,
      "contest_name": "CERC 2018",
      "contest_full_name": "CERC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 1978,
          "problem_letter": "A",
          "problem_id": 16694,
          "problem_name": "The ABCD Murderer",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "string",
            "tree",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "string",
            "trees",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "B",
          "problem_id": 16695,
          "problem_name": "The Bridge on the River Kawaii",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "divide and conquer",
            "offline queries",
            "offline dynamic connectivity"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "divide_and_conquer",
            "offline_queries",
            "offline_dynamic_connectivity"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "offline_dynamic_connectivity",
              "name": "offline dynamic connectivity",
              "boj_tag_id": 52
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "C",
          "problem_id": 16696,
          "problem_name": "Clockwork ||ange",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "breadth-first search",
            "bitmask",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "ad_hoc",
            "bfs",
            "bitmask",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "D",
          "problem_id": 16697,
          "problem_name": "Reservoir Dog",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "case work",
            "mathematics",
            "physics"
          ],
          "tag_keys": [
            "binary_search",
            "case_work",
            "math",
            "physics"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "G",
          "problem_id": 16698,
          "problem_name": "Trees Gump",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "constructive",
            "depth-first search",
            "geometry",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "dfs",
            "geometry",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "H",
          "problem_id": 16699,
          "problem_name": "Incredible Hull",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "sorting",
            "geometry",
            "convex hull",
            "planar graph",
            "angle sorting"
          ],
          "tag_keys": [
            "graphs",
            "sorting",
            "geometry",
            "convex_hull",
            "planar_graph",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "I",
          "problem_id": 16700,
          "problem_name": "Shooter Island",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "K",
          "problem_id": 16701,
          "problem_name": "The Lord of the Kings",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1978,
          "problem_letter": "L",
          "problem_id": 16702,
          "problem_name": "The Silence of the Lamps",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "M",
          "problem_id": 16703,
          "problem_name": "Matrice",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1978,
          "problem_letter": "R",
          "problem_id": 16704,
          "problem_name": "Mirrority Report",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1978,
          "problem_letter": "S",
          "problem_id": 16705,
          "problem_name": "Game of Stones",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "case work",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "case_work",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1980,
      "contest_name": "Tehran Site 2018",
      "contest_full_name": "Tehran Site 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1980,
          "problem_letter": "A",
          "problem_id": 16727,
          "problem_name": "ICPC",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "B",
          "problem_id": 16728,
          "problem_name": "Chaarshanbegaan at Cafebazaar",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "arithmetic",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "arithmetic",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "C",
          "problem_id": 16729,
          "problem_name": "Cinema",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "D",
          "problem_id": 16730,
          "problem_name": "Nader Shah",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "priority queue",
            "topological sorting",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "priority_queue",
            "topological_sorting",
            "dag"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "E",
          "problem_id": 16731,
          "problem_name": "JackRabbit Slim",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "F",
          "problem_id": 16732,
          "problem_name": "Imputation",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "G",
          "problem_id": 16733,
          "problem_name": "Relay Race",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "convex hull",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "H",
          "problem_id": 16734,
          "problem_name": "T-net",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "I",
          "problem_id": 16735,
          "problem_name": "Congestion Charging Zone",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 1980,
          "problem_letter": "J",
          "problem_id": 16736,
          "problem_name": "Image Processing Project",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 1980,
          "problem_letter": "K",
          "problem_id": 16737,
          "problem_name": "Python Classes",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "disjoint set",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "parsing",
            "strongly connected component",
            "string",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "dp",
            "dp_tree",
            "graphs",
            "parsing",
            "scc",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 1982,
      "contest_name": "Asia Yokohama Regional Contest 2018",
      "contest_full_name": "Asia Yokohama Regional Contest 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 1982,
          "problem_letter": "A",
          "problem_id": 16739,
          "problem_name": "Digits Are Not Just Characters",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "B",
          "problem_id": 16740,
          "problem_name": "Arithmetic Progressions",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "data structures",
            "set / map"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "set"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "C",
          "problem_id": 16741,
          "problem_name": "Emergency Evacuation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "sorting",
            "grid graph"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "D",
          "problem_id": 16742,
          "problem_name": "Shortest Common Non-Subsequence",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "E",
          "problem_id": 16743,
          "problem_name": "Eulerian Flight Tour",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "graph traversal",
            "case work",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "case_work",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "F",
          "problem_id": 16744,
          "problem_name": "Fair Chocolate-Cutting",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "two-pointer",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "two_pointer",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "G",
          "problem_id": 16745,
          "problem_name": "What Goes Up Must Come Down",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "H",
          "problem_id": 16746,
          "problem_name": "Four-Coloring",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "planar graph"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "I",
          "problem_id": 16747,
          "problem_name": "Ranks",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bit set",
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "bitset",
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "J",
          "problem_id": 16748,
          "problem_name": "Colorful Tree",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "set / map",
            "set / map by trees",
            "lowest common ancestor",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "set",
            "tree_set",
            "lca",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 1982,
          "problem_letter": "K",
          "problem_id": 16749,
          "problem_name": "Sixth Sense",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "greedy"
          ],
          "tag_keys": [
            "binary_search",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2001,
      "contest_name": "2018 East Central Regional Contest",
      "contest_full_name": "2018 East Central Regional Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 2001,
          "problem_letter": "A",
          "problem_id": 16866,
          "problem_name": "Car Vet",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "B",
          "problem_id": 16867,
          "problem_name": "Difference",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "C",
          "problem_id": 16868,
          "problem_name": "Pear-wise Voting",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "D",
          "problem_id": 16869,
          "problem_name": "Pizza Cutting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2001,
          "problem_letter": "E",
          "problem_id": 16870,
          "problem_name": "The Punctilious Cruciverbalist",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "F",
          "problem_id": 16871,
          "problem_name": "A Random Problem",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2001,
          "problem_letter": "G",
          "problem_id": 16872,
          "problem_name": "Roman Holidays",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "case work",
            "mathematics",
            "parsing",
            "sorting",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "case_work",
            "math",
            "parsing",
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "H",
          "problem_id": 16873,
          "problem_name": "Sequential Yahtzee",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2001,
          "problem_letter": "I",
          "problem_id": 16874,
          "problem_name": "Tours de Sales Force",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "maximum flow",
            "hungarian",
            "minimum cost maximum flow",
            "travelling salesman problem",
            "graph theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "flow",
            "hungarian",
            "mcmf",
            "tsp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "J",
          "problem_id": 16875,
          "problem_name": "Watch Where You Step",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "floyd–warshall",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "floyd_warshall",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "PA",
          "problem_id": 16860,
          "problem_name": "Are You Listening?",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "sorting",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "sorting",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "PB",
          "problem_id": 16861,
          "problem_name": "Harshad Numbers",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "PC",
          "problem_id": 16862,
          "problem_name": "An I for an Eye",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "PD",
          "problem_id": 16863,
          "problem_name": "Score!",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "PE",
          "problem_id": 16864,
          "problem_name": "So You Like Your Food Hot?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 2001,
          "problem_letter": "PF",
          "problem_id": 16865,
          "problem_name": "The Ups and Downs of Investing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2003,
      "contest_name": "NAIPC 2019",
      "contest_full_name": "NAIPC 2019",
      "contest_year": 2019,
      "contest_path": "North American Invitational Programming Contest | University > NAIPC",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2003,
          "problem_letter": "A",
          "problem_id": 16995,
          "problem_name": "Piece of Cake",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "geometry",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "B",
          "problem_id": 16996,
          "problem_name": "Busy Board",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "C",
          "problem_id": 16997,
          "problem_name": "Cost of Living",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2003,
          "problem_letter": "D",
          "problem_id": 16998,
          "problem_name": "It’s a Mod, Mod, Mod, Mod World",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm",
            "sum of floor of rational arithmetic sequence"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean",
            "floor_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "floor_sum",
              "name": "sum of floor of rational arithmetic sequence",
              "boj_tag_id": 218
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "E",
          "problem_id": 16999,
          "problem_name": "Monotony",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "F",
          "problem_id": 17000,
          "problem_name": "Heaps of Fun",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "mathematics",
            "tree"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "dp_tree",
            "math",
            "trees"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "G",
          "problem_id": 17001,
          "problem_name": "Intersecting Rectangles",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "set / map",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "H",
          "problem_id": 17002,
          "problem_name": "Rocket Powered Hovercraft",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2003,
          "problem_letter": "I",
          "problem_id": 17003,
          "problem_name": "Cutting Strings",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "hashing",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "hashing",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "J",
          "problem_id": 17004,
          "problem_name": "Subsequences in Substrings",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "bruteforcing",
            "dynamic programming"
          ],
          "tag_keys": [
            "binary_search",
            "bruteforcing",
            "dp"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "K",
          "problem_id": 17005,
          "problem_name": "Knight of the Tarot Cards",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "graph theory",
            "number theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "number_theory",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "L",
          "problem_id": 17006,
          "problem_name": "Planes, Trains, but not Automobiles",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2003,
          "problem_letter": "M",
          "problem_id": 17007,
          "problem_name": "XOR Sequences",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "divide and conquer"
          ],
          "tag_keys": [
            "ad_hoc",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2017,
      "contest_name": "2016 Nha Trang Regional Contest",
      "contest_full_name": "2016 Nha Trang Regional Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Asia Pacific > Vietnam",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2017,
          "problem_letter": "A",
          "problem_id": 17057,
          "problem_name": "Alice in the Digital World",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2017,
          "problem_letter": "B",
          "problem_id": 17058,
          "problem_name": "Reservoir",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "data structures",
            "binary search",
            "prefix sum",
            "stack"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "binary_search",
            "prefix_sum",
            "stack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2017,
          "problem_letter": "C",
          "problem_id": 17059,
          "problem_name": "Terraced fields",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "D",
          "problem_id": 17060,
          "problem_name": "Message",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "E",
          "problem_id": 17061,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "F",
          "problem_id": 17062,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "G",
          "problem_id": 17063,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "H",
          "problem_id": 17064,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "I",
          "problem_id": 17065,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "J",
          "problem_id": 17066,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "K",
          "problem_id": 17067,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2017,
          "problem_letter": "L",
          "problem_id": 17068,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2021,
      "contest_name": "ICPC World Finals 2019",
      "contest_full_name": "ICPC World Finals 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2021,
          "problem_letter": "A",
          "problem_id": 17150,
          "problem_name": "Azulejos",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "B",
          "problem_id": 17151,
          "problem_name": "Beautiful Bridges",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "C",
          "problem_id": 17152,
          "problem_name": "Checks Post Facto",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation",
            "backtracking",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "simulation",
            "backtracking",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "D",
          "problem_id": 17153,
          "problem_name": "Circular DNA",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "E",
          "problem_id": 17154,
          "problem_name": "Dead-End Detector",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "F",
          "problem_id": 17155,
          "problem_name": "Directing Rainfall",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "directed acyclic graph",
            "data structures",
            "dynamic programming",
            "geometry",
            "graph theory",
            "implementation",
            "segment tree",
            "sweeping",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "data_structures",
            "dp",
            "geometry",
            "graphs",
            "implementation",
            "segtree",
            "sweeping",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "G",
          "problem_id": 17156,
          "problem_name": "First of Her Name",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "string",
            "tree",
            "binary search",
            "trie",
            "suffix array and lcp array",
            "aho-corasick"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "string",
            "trees",
            "binary_search",
            "trie",
            "suffix_array",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "H",
          "problem_id": 17157,
          "problem_name": "Hobson’s Trains",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "smaller to larger technique",
            "functional graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "smaller_to_larger",
            "functional_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "I",
          "problem_id": 17158,
          "problem_name": "Karel the Robot",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "string",
            "graph traversal",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "string",
            "graph_traversal",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "J",
          "problem_id": 17159,
          "problem_name": "Miniature Golf",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2021,
          "problem_letter": "K",
          "problem_id": 17160,
          "problem_name": "Traffic Blights",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2057,
      "contest_name": "ACM-ICPC World Finals 2010",
      "contest_full_name": "ACM-ICPC World Finals 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2057,
          "problem_letter": "A",
          "problem_id": 23182,
          "problem_name": "APL Lives!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "B",
          "problem_id": 23183,
          "problem_name": "Barcodes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "C",
          "problem_id": 23184,
          "problem_name": "Tracking Bio-bots",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "D",
          "problem_id": 23185,
          "problem_name": "Castles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "E",
          "problem_id": 17426,
          "problem_name": "Channel",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "dynamic programming",
            "traceback",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "dp",
            "traceback",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 2057,
          "problem_letter": "F",
          "problem_id": 23186,
          "problem_name": "Contour Mapping",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "G",
          "problem_id": 23187,
          "problem_name": "The Islands",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "H",
          "problem_id": 23188,
          "problem_name": "Rain",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "I",
          "problem_id": 23189,
          "problem_name": "Robots on Ice",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "J",
          "problem_id": 23190,
          "problem_name": "Sharing Chocolate",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2057,
          "problem_letter": "K",
          "problem_id": 23191,
          "problem_name": "Paperweight",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2064,
      "contest_name": "Seoul Nationalwide Internet Competition 2019",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2064,
          "problem_letter": "A",
          "problem_id": 17519,
          "problem_name": "All You Need is Dating",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2064,
          "problem_letter": "B",
          "problem_id": 17520,
          "problem_name": "Balanced String",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "C",
          "problem_id": 17521,
          "problem_name": "Byte Coin",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "D",
          "problem_id": 17522,
          "problem_name": "Canal",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "two-pointer"
          ],
          "tag_keys": [
            "binary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "E",
          "problem_id": 17523,
          "problem_name": "Choreography",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "F",
          "problem_id": 17524,
          "problem_name": "Dryer",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "bruteforcing",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "ad_hoc",
            "bruteforcing",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "G",
          "problem_id": 17525,
          "problem_name": "Enumeration",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "constructive",
            "case work",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "H",
          "problem_id": 17626,
          "problem_name": "Four Squares",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "I",
          "problem_id": 7287,
          "problem_name": "등록",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "J",
          "problem_id": 17526,
          "problem_name": "Star Trek",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "convex hull trick",
            "li–chao tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "cht",
            "li_chao_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "K",
          "problem_id": 17527,
          "problem_name": "Steel Slicing",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "divide and conquer",
            "divide and conquer optimization",
            "dynamic programming",
            "greedy",
            "monotone queue optimization"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "divide_and_conquer_optimization",
            "dp",
            "greedy",
            "monotone_queue_optimization"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "monotone_queue_optimization",
              "name": "monotone queue optimization",
              "boj_tag_id": 165
            }
          ]
        },
        {
          "contest_id": 2064,
          "problem_letter": "L",
          "problem_id": 17528,
          "problem_name": "Two Machines",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2065,
      "contest_name": "Maratona de Programação SBC 2019",
      "contest_full_name": "Maratona de Programação SBC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2065,
          "problem_letter": "A",
          "problem_id": 17529,
          "problem_name": "Artwork",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "geometry",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "B",
          "problem_id": 17530,
          "problem_name": "Buffoon",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "C",
          "problem_id": 17531,
          "problem_name": "Crossings With Danger",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2065,
          "problem_letter": "D",
          "problem_id": 17532,
          "problem_name": "Denouncing Mafia",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "E",
          "problem_id": 17533,
          "problem_name": "Exhibition of Clownfish",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "greedy",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "F",
          "problem_id": 17534,
          "problem_name": "Forests in Danger",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "G",
          "problem_id": 17535,
          "problem_name": "Getting Confidence",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "H",
          "problem_id": 17536,
          "problem_name": "Hour for a Run",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "I",
          "problem_id": 17537,
          "problem_name": "Interplanetary",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "J",
          "problem_id": 17538,
          "problem_name": "Jar of Water Game",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "K",
          "problem_id": 17539,
          "problem_name": "Keep Calm and Sell Balloons",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "exponentiation by squaring",
            "berlekamp–massey"
          ],
          "tag_keys": [
            "math",
            "dp",
            "exponentiation_by_squaring",
            "berlekamp_massey"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "berlekamp_massey",
              "name": "berlekamp–massey",
              "boj_tag_id": 110
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "L",
          "problem_id": 17540,
          "problem_name": "Less Coin Tosses",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2065,
          "problem_letter": "M",
          "problem_id": 17541,
          "problem_name": "Maratona Brasileira de Popcorn",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2066,
      "contest_name": "BAPC 2019 Preliminaries",
      "contest_full_name": "BAPC 2019 Preliminaries",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2066,
          "problem_letter": "A",
          "problem_id": 17542,
          "problem_name": "Architecture",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "B",
          "problem_id": 17543,
          "problem_name": "Bracket Sequence",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "C",
          "problem_id": 17544,
          "problem_name": "Canyon Crossing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "0-1 bfs",
            "binary search",
            "dijkstra's",
            "graph theory",
            "parametric search",
            "shortest path"
          ],
          "tag_keys": [
            "0_1_bfs",
            "binary_search",
            "dijkstra",
            "graphs",
            "parametric_search",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "D",
          "problem_id": 17545,
          "problem_name": "Deceptive Dice",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "E",
          "problem_id": 17546,
          "problem_name": "Exits in Excess",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "dag"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "F",
          "problem_id": 17547,
          "problem_name": "Floor Plan",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "G",
          "problem_id": 17548,
          "problem_name": "Greetings!",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "H",
          "problem_id": 17549,
          "problem_name": "Hexagonal Rooks",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "I",
          "problem_id": 17550,
          "problem_name": "Inquiry I",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "J",
          "problem_id": 17551,
          "problem_name": "Jumbled Journey",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "directed acyclic graph",
            "dynamic programming",
            "graph theory",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "dp",
            "graphs",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "K",
          "problem_id": 17552,
          "problem_name": "Knapsack Packing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "sorting",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2066,
          "problem_letter": "L",
          "problem_id": 17553,
          "problem_name": "Lifeguards",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "constructive",
            "geometry"
          ],
          "tag_keys": [
            "constructive",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2067,
      "contest_name": "SWERC 2018",
      "contest_full_name": "SWERC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 2067,
          "problem_letter": "A",
          "problem_id": 17554,
          "problem_name": "City of Lights",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "B",
          "problem_id": 17555,
          "problem_name": "Blurred Pictures",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "C",
          "problem_id": 17556,
          "problem_name": "Crosswords",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "ad-hoc",
            "backtracking"
          ],
          "tag_keys": [
            "ad_hoc",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "D",
          "problem_id": 17557,
          "problem_name": "Monument Tour",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "E",
          "problem_id": 17558,
          "problem_name": "Rounding",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "F",
          "problem_id": 17559,
          "problem_name": "Paris by Night",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "G",
          "problem_id": 17560,
          "problem_name": "Strings",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "string",
            "prefix sum",
            "divide and conquer"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "H",
          "problem_id": 17561,
          "problem_name": "Travel Guide",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "graph theory",
            "segment tree",
            "shortest path",
            "dijkstra's",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "segtree",
            "shortest_path",
            "dijkstra",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "I",
          "problem_id": 17562,
          "problem_name": "Mason’s Mark",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "J",
          "problem_id": 17563,
          "problem_name": "Mona Lisa",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "randomization",
            "square root decomposition",
            "birthday problem"
          ],
          "tag_keys": [
            "randomization",
            "sqrt_decomposition",
            "birthday"
          ],
          "tag_details": [
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            },
            {
              "key": "birthday",
              "name": "birthday problem",
              "boj_tag_id": 203
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "K",
          "problem_id": 17564,
          "problem_name": "Dishonest Driver",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "string",
            "hashing"
          ],
          "tag_keys": [
            "dp",
            "string",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "PA",
          "problem_id": 20372,
          "problem_name": "Late Party",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2067,
          "problem_letter": "PB",
          "problem_id": 20373,
          "problem_name": "Flood",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2067,
          "problem_letter": "PC",
          "problem_id": 20374,
          "problem_name": "Big Money",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 2067,
          "problem_letter": "PD",
          "problem_id": 20375,
          "problem_name": "Paris Sightseeing for Groups",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2067,
          "problem_letter": "PE",
          "problem_id": 20376,
          "problem_name": "Counting Monuments",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2068,
      "contest_name": "UKIEPC 2018",
      "contest_full_name": "UKIEPC 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2068,
          "problem_letter": "A",
          "problem_id": 17565,
          "problem_name": "Analogue Cluster",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "B",
          "problem_id": 17566,
          "problem_name": "Bus Logic",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "C",
          "problem_id": 17567,
          "problem_name": "Code Word",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "D",
          "problem_id": 17568,
          "problem_name": "Dynamo Wheel",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "sorting",
            "geometry",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "E",
          "problem_id": 17569,
          "problem_name": "Evenly Divided",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "heuristics",
            "randomization"
          ],
          "tag_keys": [
            "heuristics",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "F",
          "problem_id": 17570,
          "problem_name": "Fibonacci Compression",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "G",
          "problem_id": 17571,
          "problem_name": "Garden Variety Vampire",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2068,
          "problem_letter": "H",
          "problem_id": 17572,
          "problem_name": "Hamster Ball",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "I",
          "problem_id": 17573,
          "problem_name": "Internet Upload",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "J",
          "problem_id": 17574,
          "problem_name": "Jackpot",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "probability theory",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "probability",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "K",
          "problem_id": 17575,
          "problem_name": "Kings",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "hungarian"
          ],
          "tag_keys": [
            "hungarian"
          ],
          "tag_details": [
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            }
          ]
        },
        {
          "contest_id": 2068,
          "problem_letter": "L",
          "problem_id": 17576,
          "problem_name": "Last Word",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2069,
      "contest_name": "2019 Japan Domestic Contest",
      "contest_full_name": "2019 Japan Domestic Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 2069,
          "problem_letter": "A",
          "problem_id": 17577,
          "problem_name": "Scores of Final Examination",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2069,
          "problem_letter": "B",
          "problem_id": 17578,
          "problem_name": "On-Screen Keyboard",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2069,
          "problem_letter": "C",
          "problem_id": 17579,
          "problem_name": "Balance Scale",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "implementation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "data_structures",
            "hash_set",
            "implementation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2069,
          "problem_letter": "D",
          "problem_id": 17580,
          "problem_name": "Tally Counters",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2069,
          "problem_letter": "E",
          "problem_id": 17581,
          "problem_name": "Cube Surface Puzzle",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2069,
          "problem_letter": "F",
          "problem_id": 17582,
          "problem_name": "Flipping Colors",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "constructive",
            "graph theory",
            "graph traversal",
            "minimum spanning tree",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "graphs",
            "graph_traversal",
            "mst",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2069,
          "problem_letter": "G",
          "problem_id": 17583,
          "problem_name": "Let's Move Tiles!",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2069,
          "problem_letter": "H",
          "problem_id": 17584,
          "problem_name": "Addition on Convex Polygons",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "number theory",
            "euclidean algorithm",
            "convex hull",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "number_theory",
            "euclidean",
            "convex_hull",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2070,
      "contest_name": "ICPC North America Qualifier 2019",
      "contest_full_name": "ICPC North America Qualifier 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2070,
          "problem_letter": "A",
          "problem_id": 17585,
          "problem_name": "Circuit Math",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "B",
          "problem_id": 17586,
          "problem_name": "Diagonal Cut",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "euclidean algorithm",
            "parity"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "euclidean",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "C",
          "problem_id": 17587,
          "problem_name": "Gerrymandering",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "D",
          "problem_id": 17588,
          "problem_name": "Missing Numbers",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "E",
          "problem_id": 17589,
          "problem_name": "NVWLS",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "aho-corasick",
            "data structures",
            "dynamic programming",
            "hashing",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "data_structures",
            "dp",
            "hashing",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "F",
          "problem_id": 17590,
          "problem_name": "Prospecting",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "greedy",
            "priority queue",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "greedy",
            "priority_queue",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "G",
          "problem_id": 17591,
          "problem_name": "Research Productivity Index",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "H",
          "problem_id": 17592,
          "problem_name": "Running Routes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "I",
          "problem_id": 17593,
          "problem_name": "Slow Leak",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dijkstra's",
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "J",
          "problem_id": 17594,
          "problem_name": "Stop Counting!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "K",
          "problem_id": 17595,
          "problem_name": "Summer Trip",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "string"
          ],
          "tag_keys": [
            "ad_hoc",
            "string"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "L",
          "problem_id": 17596,
          "problem_name": "Traveling Merchant",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "data structures",
            "segment tree",
            "square root decomposition"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "segtree",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 2070,
          "problem_letter": "M",
          "problem_id": 17597,
          "problem_name": "Zipline",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "geometry",
            "ternary search",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "ternary_search",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2071,
      "contest_name": "TOPC 2019",
      "contest_full_name": "TOPC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 2071,
          "problem_letter": "A",
          "problem_id": 17598,
          "problem_name": "Animal King Election",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "B",
          "problem_id": 17599,
          "problem_name": "Bags",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "C",
          "problem_id": 17600,
          "problem_name": "Change Making",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "D",
          "problem_id": 17601,
          "problem_name": "Disrupting Defense",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "E",
          "problem_id": 17602,
          "problem_name": "Explosion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "constructive",
            "case work",
            "arbitrary precision / big integers",
            "randomization",
            "heuristics",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "geometry",
            "constructive",
            "case_work",
            "arbitrary_precision",
            "randomization",
            "heuristics",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "F",
          "problem_id": 17603,
          "problem_name": "Factorization",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "number theory",
            "discrete square root"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "discrete_sqrt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "discrete_sqrt",
              "name": "discrete square root",
              "boj_tag_id": 147
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "G",
          "problem_id": 17604,
          "problem_name": "Gifted Bafuko",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "graph theory",
            "ad-hoc",
            "constructive",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "ad_hoc",
            "constructive",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "H",
          "problem_id": 17605,
          "problem_name": "Hotel",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 2071,
          "problem_letter": "I",
          "problem_id": 17606,
          "problem_name": "Integral Points",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "number theory",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2094,
      "contest_name": "BAPC 2019",
      "contest_full_name": "BAPC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2094,
          "problem_letter": "A",
          "problem_id": 17782,
          "problem_name": "Appeal to the Audience",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "B",
          "problem_id": 17783,
          "problem_name": "Breaking Branches",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "game theory",
            "parity"
          ],
          "tag_keys": [
            "math",
            "game_theory",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "C",
          "problem_id": 17784,
          "problem_name": "Conveyor Belts",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "D",
          "problem_id": 17785,
          "problem_name": "Deck Randomisation",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "chinese remainder theorem",
            "mathematics",
            "number theory",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "crt",
            "math",
            "number_theory",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "E",
          "problem_id": 17786,
          "problem_name": "Efficient Exchange",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "F",
          "problem_id": 17787,
          "problem_name": "Find my Family",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "binary search",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "binary_search",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "G",
          "problem_id": 17788,
          "problem_name": "Gluttonous Goop",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "H",
          "problem_id": 17789,
          "problem_name": "Historic Exhibition",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "I",
          "problem_id": 17790,
          "problem_name": "Inquiry II",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "tree",
            "bitmask",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "trees",
            "bitmask",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "J",
          "problem_id": 17791,
          "problem_name": "Jazz it Up!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "K",
          "problem_id": 17792,
          "problem_name": "Keep Him Inside",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "geometry",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2094,
          "problem_letter": "L",
          "problem_id": 17793,
          "problem_name": "Lucky Draw",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2095,
      "contest_name": "UKIEPC 2019",
      "contest_full_name": "UKIEPC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2095,
          "problem_letter": "A",
          "problem_id": 17794,
          "problem_name": "Automatic Accountant",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "B",
          "problem_id": 17795,
          "problem_name": "Ballpark Estimate",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "string"
          ],
          "tag_keys": [
            "math",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "C",
          "problem_id": 17796,
          "problem_name": "Crooked Dealing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "D",
          "problem_id": 17797,
          "problem_name": "Dome Construction",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "sorting",
            "geometry",
            "geometry; 3d",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "geometry_3d",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "E",
          "problem_id": 17798,
          "problem_name": "Estate Agent",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "F",
          "problem_id": 17799,
          "problem_name": "Feeding Seals",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "G",
          "problem_id": 17800,
          "problem_name": "Grand Central Station",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "hashing"
          ],
          "tag_keys": [
            "hashing"
          ],
          "tag_details": [
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "H",
          "problem_id": 17801,
          "problem_name": "Hat Stand",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "I",
          "problem_id": 17802,
          "problem_name": "Integral Pyramid",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "constructive",
            "mathematics"
          ],
          "tag_keys": [
            "constructive",
            "math"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "J",
          "problem_id": 17803,
          "problem_name": "Jammed Gym",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "K",
          "problem_id": 17804,
          "problem_name": "Knocked Ink",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "sorting",
            "geometry",
            "binary search",
            "calculus",
            "boolean operations on geometric objects",
            "green's theorem"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry",
            "binary_search",
            "calculus",
            "geometric_boolean_operations",
            "green"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            },
            {
              "key": "green",
              "name": "green's theorem",
              "boj_tag_id": 183
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "L",
          "problem_id": 17805,
          "problem_name": "Low Effort League",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2095,
          "problem_letter": "M",
          "problem_id": 17806,
          "problem_name": "Mosaic Mansion",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "hashing",
            "meet in the middle"
          ],
          "tag_keys": [
            "hashing",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2096,
      "contest_name": "CTU Open Contest 2019",
      "contest_full_name": "CTU Open Contest 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2096,
          "problem_letter": "B",
          "problem_id": 17807,
          "problem_name": "Beer Barrels",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "combinatorics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2096,
          "problem_letter": "B",
          "problem_id": 17808,
          "problem_name": "Beer Bill",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2096,
          "problem_letter": "C",
          "problem_id": 17809,
          "problem_name": "Beer Coasters",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "case work",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "case_work",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 2096,
          "problem_letter": "F",
          "problem_id": 17810,
          "problem_name": "Beer Flood System",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2096,
          "problem_letter": "G",
          "problem_id": 17811,
          "problem_name": "Beer Can Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2096,
          "problem_letter": "M",
          "problem_id": 17812,
          "problem_name": "Beer Marathon",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ternary search"
          ],
          "tag_keys": [
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 2096,
          "problem_letter": "M",
          "problem_id": 17813,
          "problem_name": "Beer Mugs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2096,
          "problem_letter": "S",
          "problem_id": 17814,
          "problem_name": "Screamers in the Storm",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2096,
          "problem_letter": "S",
          "problem_id": 17815,
          "problem_name": "Sixpack",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2096,
          "problem_letter": "V",
          "problem_id": 17816,
          "problem_name": "Beer Vision",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2098,
      "contest_name": "2019 East Central Regional Contest",
      "contest_full_name": "2019 East Central Regional Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 2098,
          "problem_letter": "A",
          "problem_id": 17852,
          "problem_name": "Retribution!",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "B",
          "problem_id": 17853,
          "problem_name": "Bio Trip",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "C",
          "problem_id": 17854,
          "problem_name": "Cheese, If You Please",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "linear programming"
          ],
          "tag_keys": [
            "linear_programming"
          ],
          "tag_details": [
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "D",
          "problem_id": 17855,
          "problem_name": "Follow the Bouncing Ball",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "E",
          "problem_id": 17856,
          "problem_name": "Just Passing Through",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "F",
          "problem_id": 17857,
          "problem_name": "Musical Chairs",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "G",
          "problem_id": 17858,
          "problem_name": "Out of Sorts",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "binary search",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "binary_search",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "H",
          "problem_id": 17859,
          "problem_name": "Remainder Reminder",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "I",
          "problem_id": 17860,
          "problem_name": "Square Rooms",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "backtracking",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "J",
          "problem_id": 17861,
          "problem_name": "Taxed Editor",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "greedy",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "K",
          "problem_id": 17862,
          "problem_name": "Where Have You Bin?",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "PA",
          "problem_id": 17846,
          "problem_name": "Chopping on Line",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2098,
          "problem_letter": "PB",
          "problem_id": 17847,
          "problem_name": "Diamonds Are for Evers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "PC",
          "problem_id": 17848,
          "problem_name": "Flight Turbulence",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "PD",
          "problem_id": 17849,
          "problem_name": "Hardware Sales",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "PE",
          "problem_id": 17850,
          "problem_name": "Make America Grade Again",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2098,
          "problem_letter": "PF",
          "problem_id": 17851,
          "problem_name": "This Problem’s a Slam Dunk",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2099,
      "contest_name": "2019 Greater New York Programming Contest",
      "contest_full_name": "2019 Greater New York Programming Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2099,
          "problem_letter": "A",
          "problem_id": 17863,
          "problem_name": "FYI",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "B",
          "problem_id": 17864,
          "problem_name": "Remdoku",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2099,
          "problem_letter": "C",
          "problem_id": 17865,
          "problem_name": "Pass the Buck",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2099,
          "problem_letter": "D",
          "problem_id": 17866,
          "problem_name": "Gerrymandering Criterion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "case work",
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "case_work",
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "E",
          "problem_id": 17867,
          "problem_name": "Circle Garden",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "geometry",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "F",
          "problem_id": 17868,
          "problem_name": "Origami Fold",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2099,
          "problem_letter": "G",
          "problem_id": 17869,
          "problem_name": "Simple Collatz Sequence",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "H",
          "problem_id": 17870,
          "problem_name": "Problematic Public Keys",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "data structures",
            "bruteforcing",
            "number theory",
            "set / map",
            "set / map by hashing",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "bruteforcing",
            "number_theory",
            "set",
            "hash_set",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "I",
          "problem_id": 17871,
          "problem_name": "Integers in Rational Bases",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "J",
          "problem_id": 17872,
          "problem_name": "How Many Unicycles in a Wheel?",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2099,
          "problem_letter": "K",
          "problem_id": 17873,
          "problem_name": "Regional Team Names",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2100,
      "contest_name": "2019 Rocky Mountain Regional Contest",
      "contest_full_name": "2019 Rocky Mountain Regional Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2100,
          "problem_letter": "A",
          "problem_id": 17874,
          "problem_name": "Piece of Cake!",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "B",
          "problem_id": 17875,
          "problem_name": "Fantasy Draft",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "C",
          "problem_id": 17876,
          "problem_name": "Folding a Cube",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "geometry",
            "simulation",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "simulation",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "D",
          "problem_id": 17877,
          "problem_name": "Integer Division",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "data structures",
            "sorting",
            "set / map",
            "combinatorics",
            "set / map by hashing",
            "two-pointer"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "sorting",
            "set",
            "combinatorics",
            "hash_set",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "E",
          "problem_id": 17878,
          "problem_name": "Hogwarts",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "F",
          "problem_id": 17879,
          "problem_name": "Molecules",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "geometry",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "G",
          "problem_id": 17880,
          "problem_name": "Typo",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "H",
          "problem_id": 17881,
          "problem_name": "The Biggest Triangle",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bruteforcing",
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "I",
          "problem_id": 17882,
          "problem_name": "Tired Terry",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "J",
          "problem_id": 17883,
          "problem_name": "Watch Later",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 2100,
          "problem_letter": "K",
          "problem_id": 17884,
          "problem_name": "Lost Lineup",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2110,
      "contest_name": "SEERC 2019",
      "contest_full_name": "SEERC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2110,
          "problem_letter": "A",
          "problem_id": 17955,
          "problem_name": "Max or Min",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "B",
          "problem_id": 17956,
          "problem_name": "Level Up",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "C",
          "problem_id": 17957,
          "problem_name": "Find the Array",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc",
            "binary search",
            "bitmask",
            "divide and conquer"
          ],
          "tag_keys": [
            "ad_hoc",
            "binary_search",
            "bitmask",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "D",
          "problem_id": 17958,
          "problem_name": "Cycle String?",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "E",
          "problem_id": 17959,
          "problem_name": "Life Transfer",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "F",
          "problem_id": 17962,
          "problem_name": "Game on a Tree",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "G",
          "problem_id": 17963,
          "problem_name": "Projection",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "H",
          "problem_id": 17964,
          "problem_name": "Tree Permutations",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "ad-hoc",
            "data structures",
            "set / map by hashing",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "ad_hoc",
            "data_structures",
            "hash_set",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "I",
          "problem_id": 17965,
          "problem_name": "Absolute Game",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "game theory"
          ],
          "tag_keys": [
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "J",
          "problem_id": 17966,
          "problem_name": "Graph and Cycles",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "greedy"
          ],
          "tag_keys": [
            "graphs",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2110,
          "problem_letter": "K",
          "problem_id": 17967,
          "problem_name": "Stranded Robot",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2111,
      "contest_name": "Asia Regional - Seoul 2019",
      "contest_full_name": "Asia Regional - Seoul 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2111,
          "problem_letter": "A",
          "problem_id": 17968,
          "problem_name": "Fire on Field",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "B",
          "problem_id": 17969,
          "problem_name": "Gene Tree",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "C",
          "problem_id": 17970,
          "problem_name": "Islands",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "D",
          "problem_id": 17971,
          "problem_name": "Ladder Game",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "E",
          "problem_id": 17972,
          "problem_name": "Network Vulnerability",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "F",
          "problem_id": 17973,
          "problem_name": "Quadrilaterals",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "sweeping",
            "bulldozer trick"
          ],
          "tag_keys": [
            "geometry",
            "sweeping",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "G",
          "problem_id": 17974,
          "problem_name": "Same Color",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "H",
          "problem_id": 17975,
          "problem_name": "Strike Zone",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "value / coordinate compression",
            "maximum subarray"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "coordinate_compression",
            "maximum_subarray"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "maximum_subarray",
              "name": "maximum subarray",
              "boj_tag_id": 234
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "I",
          "problem_id": 17976,
          "problem_name": "Thread Knots",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "J",
          "problem_id": 17977,
          "problem_name": "Triangulation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "dp",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "K",
          "problem_id": 17978,
          "problem_name": "Washer",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 2111,
          "problem_letter": "L",
          "problem_id": 17979,
          "problem_name": "What’s Mine is Mine",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2113,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2019 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2113,
          "problem_letter": "A",
          "problem_id": 17991,
          "problem_name": "Carryless Square Root",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "B",
          "problem_id": 17992,
          "problem_name": "Computer Cache",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "offline queries",
            "difference array",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop",
            "offline_queries",
            "difference_array",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "C",
          "problem_id": 17993,
          "problem_name": "Elven Efficiency",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "D",
          "problem_id": 17994,
          "problem_name": "Swap Free",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "parity"
          ],
          "tag_keys": [
            "bipartite_matching",
            "parity"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "E",
          "problem_id": 17995,
          "problem_name": "Fixed Point Permutations",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "F",
          "problem_id": 17996,
          "problem_name": "Interstellar Travel",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "mathematics",
            "prefix sum",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "prefix_sum",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "G",
          "problem_id": 17997,
          "problem_name": "Jumping Path",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "segment tree",
            "longest increasing sequence problem",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "segtree",
            "lis",
            "hld"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "H",
          "problem_id": 17998,
          "problem_name": "Levenshtein Distance",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "I",
          "problem_id": 17999,
          "problem_name": "Maze Connect",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "J",
          "problem_id": 18000,
          "problem_name": "One of Each",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy"
          ],
          "tag_keys": [
            "data_structures",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2113,
          "problem_letter": "K",
          "problem_id": 18001,
          "problem_name": "Windmill Pivot",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "bruteforcing",
            "geometry",
            "bulldozer trick"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "geometry",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2114,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2019 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2114,
          "problem_letter": "A",
          "problem_id": 18002,
          "problem_name": "Balanced Animals",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "sorting",
            "binary search",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "binary_search",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "B",
          "problem_id": 17991,
          "problem_name": "Carryless Square Root",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "C",
          "problem_id": 18003,
          "problem_name": "Checkerboard",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "D",
          "problem_id": 18004,
          "problem_name": "From A to B",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "E",
          "problem_id": 17993,
          "problem_name": "Elven Efficiency",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "F",
          "problem_id": 18005,
          "problem_name": "Even or Odd?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "G",
          "problem_id": 18006,
          "problem_name": "Glow, Pixel, Glow!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "H",
          "problem_id": 17997,
          "problem_name": "Jumping Path",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "segment tree",
            "longest increasing sequence problem",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "segtree",
            "lis",
            "hld"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "I",
          "problem_id": 17998,
          "problem_name": "Levenshtein Distance",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "J",
          "problem_id": 18007,
          "problem_name": "Rainbow Strings",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "string",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "string",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2114,
          "problem_letter": "K",
          "problem_id": 18008,
          "problem_name": "ReMorse",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2116,
      "contest_name": "NCPC 2019",
      "contest_full_name": "NCPC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2116,
          "problem_letter": "A",
          "problem_id": 18018,
          "problem_name": "Alphabet Animals",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "B",
          "problem_id": 18019,
          "problem_name": "Building Boundaries",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "C",
          "problem_id": 18020,
          "problem_name": "Cocoa Coalition",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "D",
          "problem_id": 18021,
          "problem_name": "Dungeon Dawdler",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2116,
          "problem_letter": "E",
          "problem_id": 18022,
          "problem_name": "Eeny Meeny",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "deque"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "deque"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "F",
          "problem_id": 18023,
          "problem_name": "Flow Finder",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "G",
          "problem_id": 18024,
          "problem_name": "Game of Gnomes",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "H",
          "problem_id": 18025,
          "problem_name": "Hot Hike",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "I",
          "problem_id": 18026,
          "problem_name": "Incremental Induction",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "J",
          "problem_id": 18027,
          "problem_name": "Jealous Youngsters",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bipartite matching",
            "implementation",
            "stable marriage problem"
          ],
          "tag_keys": [
            "bipartite_matching",
            "implementation",
            "stable_marriage"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "stable_marriage",
              "name": "stable marriage problem",
              "boj_tag_id": 192
            }
          ]
        },
        {
          "contest_id": 2116,
          "problem_letter": "K",
          "problem_id": 18028,
          "problem_name": "Keep it Cool",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2117,
      "contest_name": "Latin America Regional Contests 2019",
      "contest_full_name": "Latin America Regional Contests 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2117,
          "problem_letter": "A",
          "problem_id": 18029,
          "problem_name": "Algorithm Teaching",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "B",
          "problem_id": 18030,
          "problem_name": "Build the Perfect House",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "geometry",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "C",
          "problem_id": 18031,
          "problem_name": "Cut Inequality Down",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "D",
          "problem_id": 18032,
          "problem_name": "Dazzling Stars",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "sorting",
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "E",
          "problem_id": 18033,
          "problem_name": "Eggfruit Cake",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "F",
          "problem_id": 18034,
          "problem_name": "Fabricating Sculptures",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "G",
          "problem_id": 18035,
          "problem_name": "Gluing Pictures",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "H",
          "problem_id": 18036,
          "problem_name": "Hold or Continue?",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "I",
          "problem_id": 18037,
          "problem_name": "Improve SPAM",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "depth-first search",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "dfs",
            "dag"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "J",
          "problem_id": 18038,
          "problem_name": "Jumping Grasshopper",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "K",
          "problem_id": 18039,
          "problem_name": "Know your Aliens",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "arithmetic",
            "divide and conquer"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "L",
          "problem_id": 18040,
          "problem_name": "Leverage MDT",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2117,
          "problem_letter": "M",
          "problem_id": 18041,
          "problem_name": "Mountain Ranges",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2118,
      "contest_name": "AMPPZ 2019",
      "contest_full_name": "AMPPZ 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2118,
          "problem_letter": "A",
          "problem_id": 18042,
          "problem_name": "Assimilation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "B",
          "problem_id": 18043,
          "problem_name": "Little Worm",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "tree"
          ],
          "tag_keys": [
            "trees"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "C",
          "problem_id": 18044,
          "problem_name": "Polygon",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "D",
          "problem_id": 18045,
          "problem_name": "Frogs",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "sorting",
            "sweeping",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "sweeping",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "E",
          "problem_id": 18046,
          "problem_name": "The Great Drone Show",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "binary search",
            "data structures",
            "disjoint set",
            "graph theory",
            "offline queries",
            "planar graph",
            "smaller to larger technique",
            "sparse table"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "disjoint_set",
            "graphs",
            "offline_queries",
            "planar_graph",
            "smaller_to_larger",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "F",
          "problem_id": 18047,
          "problem_name": "Fantastic compression",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "backtracking",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "G",
          "problem_id": 18048,
          "problem_name": "Bookstore",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "divide and conquer",
            "randomization",
            "segment tree",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "divide_and_conquer",
            "randomization",
            "segtree",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "H",
          "problem_id": 18049,
          "problem_name": "Cheese Game",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "I",
          "problem_id": 18050,
          "problem_name": "Henry Porter and the Palindromic Radius",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "manacher's",
            "string"
          ],
          "tag_keys": [
            "manacher",
            "string"
          ],
          "tag_details": [
            {
              "key": "manacher",
              "name": "manacher's",
              "boj_tag_id": 44
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "J",
          "problem_id": 18051,
          "problem_name": "Antennas",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "combinatorics",
            "data structures",
            "geometry",
            "line segment intersection check",
            "mathematics",
            "point in convex polygon check",
            "segment tree",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "combinatorics",
            "data_structures",
            "geometry",
            "line_intersection",
            "math",
            "point_in_convex_polygon",
            "segtree",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2118,
          "problem_letter": "K",
          "problem_id": 18052,
          "problem_name": "Ghost",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2118,
          "problem_letter": "L",
          "problem_id": 18053,
          "problem_name": "Donuts",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "data structures",
            "priority queue",
            "hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "priority_queue",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2119,
      "contest_name": "GCPC 2019",
      "contest_full_name": "GCPC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2119,
          "problem_letter": "A",
          "problem_id": 18054,
          "problem_name": "Assessing Genomes",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "B",
          "problem_id": 18055,
          "problem_name": "Bouldering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dijkstra's",
            "geometry",
            "graph theory",
            "pythagoras theorem",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "geometry",
            "graphs",
            "pythagoras",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "C",
          "problem_id": 18056,
          "problem_name": "Colourful Chameleons",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "D",
          "problem_id": 18057,
          "problem_name": "Dungeon Crawler",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "E",
          "problem_id": 18058,
          "problem_name": "Election Meddling",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "sorting",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "F",
          "problem_id": 18059,
          "problem_name": "Final Standings",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "G",
          "problem_id": 18060,
          "problem_name": "Game of Falling Blocks",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "H",
          "problem_id": 18061,
          "problem_name": "Historical Maths",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "binary_search",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "I",
          "problem_id": 18062,
          "problem_name": "Insertion Order",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "J",
          "problem_id": 18063,
          "problem_name": "Jazz Enthusiast",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "K",
          "problem_id": 18064,
          "problem_name": "Keeping the Dogs Out",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "greedy"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2119,
          "problem_letter": "L",
          "problem_id": 18065,
          "problem_name": "Long-Exposure Photography",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2119,
          "problem_letter": "M",
          "problem_id": 18066,
          "problem_name": "Move & Meet",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "constructive",
            "case work",
            "parity"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work",
            "parity"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2120,
      "contest_name": "ICPC 2019-2020 North-Western Russia Regional Contest",
      "contest_full_name": "ICPC 2019-2020 North-Western Russia Regional Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2120,
          "problem_letter": "A",
          "problem_id": 18067,
          "problem_name": "Accurate Movement",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "B",
          "problem_id": 18068,
          "problem_name": "Bad Treap",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "constructive",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "C",
          "problem_id": 18069,
          "problem_name": "Cross-Stitch",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "case work",
            "depth-first search",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "case_work",
            "dfs",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "D",
          "problem_id": 18070,
          "problem_name": "Double Palindrome",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "E",
          "problem_id": 18071,
          "problem_name": "Equidistant",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "F",
          "problem_id": 18072,
          "problem_name": "Foreach",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2120,
          "problem_letter": "G",
          "problem_id": 18073,
          "problem_name": "Golf Time",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "H",
          "problem_id": 18074,
          "problem_name": "High Load Database",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "prefix sum"
          ],
          "tag_keys": [
            "binary_search",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "I",
          "problem_id": 18075,
          "problem_name": "Ideal Pyramid",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "J",
          "problem_id": 18076,
          "problem_name": "Just the Last Digit",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "K",
          "problem_id": 18077,
          "problem_name": "King’s Children",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "constructive",
            "divide and conquer",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "divide_and_conquer",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "L",
          "problem_id": 18078,
          "problem_name": "Lengths and Periods",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "string",
            "smaller to larger technique",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "smaller_to_larger",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 2120,
          "problem_letter": "M",
          "problem_id": 18079,
          "problem_name": "Managing Difficulties",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2121,
      "contest_name": "NWERC 2019",
      "contest_full_name": "NWERC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 2121,
          "problem_letter": "A",
          "problem_id": 18080,
          "problem_name": "Average Rank",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "B",
          "problem_id": 18081,
          "problem_name": "Balanced Cut",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "C",
          "problem_id": 18082,
          "problem_name": "Canvas Line",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "D",
          "problem_id": 18083,
          "problem_name": "Disposable Switches",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "E",
          "problem_id": 18084,
          "problem_name": "Expeditious Cubing",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "F",
          "problem_id": 18085,
          "problem_name": "Firetrucks Are Red",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "data structures",
            "set / map",
            "disjoint set",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "set",
            "disjoint_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "G",
          "problem_id": 18086,
          "problem_name": "Gnoll Hypothesis",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "H",
          "problem_id": 18087,
          "problem_name": "Height Profile",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "I",
          "problem_id": 18088,
          "problem_name": "Inverted Deck",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "sorting",
            "constructive"
          ],
          "tag_keys": [
            "sorting",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "J",
          "problem_id": 18089,
          "problem_name": "Jackdaws And Crows",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "ad-hoc",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "ad_hoc",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "K",
          "problem_id": 18090,
          "problem_name": "Kitesurfing",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "case work",
            "dynamic programming"
          ],
          "tag_keys": [
            "case_work",
            "dp"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "PA",
          "problem_id": 20350,
          "problem_name": "Account Numbers",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2121,
          "problem_letter": "PB",
          "problem_id": 20351,
          "problem_name": "Brinkmanship",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2121,
          "problem_letter": "PC",
          "problem_id": 20352,
          "problem_name": "Circus",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2125,
      "contest_name": "ICPC 2019-2020 North-Western Russia Qualification",
      "contest_full_name": "ICPC 2019-2020 North-Western Russia Qualification",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2125,
          "problem_letter": "A",
          "problem_id": 18096,
          "problem_name": "Арифметическая магия",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "B",
          "problem_id": 18097,
          "problem_name": "Большие перемены",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "graph theory",
            "ad-hoc"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "C",
          "problem_id": 18098,
          "problem_name": "Совпадения",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "D",
          "problem_id": 18099,
          "problem_name": "Драфт НБА",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "E",
          "problem_id": 18100,
          "problem_name": "Думский регламент",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "F",
          "problem_id": 18101,
          "problem_name": "Правильный подмногоугольник",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "case work"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "G",
          "problem_id": 18102,
          "problem_name": "Есть ли делитель?",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "H",
          "problem_id": 18103,
          "problem_name": "ICPC",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "I",
          "problem_id": 18104,
          "problem_name": "Составление задач",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "J",
          "problem_id": 18105,
          "problem_name": "Порталы",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "K",
          "problem_id": 18106,
          "problem_name": "<<Контакт>> для двоих",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "tree",
            "trie",
            "convex hull trick"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "trie",
            "cht"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 2125,
          "problem_letter": "L",
          "problem_id": 18107,
          "problem_name": "Ближайшие точки",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "geometry",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2130,
      "contest_name": "2019 ICPC Asia Taipei-Hsinchu Regional",
      "contest_full_name": "2019 ICPC Asia Taipei-Hsinchu Regional",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2130,
          "problem_letter": "A",
          "problem_id": 18139,
          "problem_name": "Rush Hour Puzzle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "B",
          "problem_id": 18140,
          "problem_name": "The Power Monitor System",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "C",
          "problem_id": 18141,
          "problem_name": "Are They All Integers?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "D",
          "problem_id": 18142,
          "problem_name": "Tapioka",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "E",
          "problem_id": 18143,
          "problem_name": "The League of Sequence Designers",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "mathematics"
          ],
          "tag_keys": [
            "constructive",
            "math"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "F",
          "problem_id": 18144,
          "problem_name": "Miss Sloane",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2130,
          "problem_letter": "G",
          "problem_id": 18145,
          "problem_name": "Optimal Selection",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2130,
          "problem_letter": "H",
          "problem_id": 18146,
          "problem_name": "Mining a",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "I",
          "problem_id": 18147,
          "problem_name": "The Spectrum",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2130,
          "problem_letter": "J",
          "problem_id": 18148,
          "problem_name": "Automatic Control Machine",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "K",
          "problem_id": 18149,
          "problem_name": "Length of Bundle Rope",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "L",
          "problem_id": 18150,
          "problem_name": "Largest Quadrilateral",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "two-pointer",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "two_pointer",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 2130,
          "problem_letter": "M",
          "problem_id": 18151,
          "problem_name": "DivModulo",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "prime factorization",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "prime_factorization",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2131,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2019 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2131,
          "problem_letter": "A",
          "problem_id": 18152,
          "problem_name": "Radio Prize",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "B",
          "problem_id": 18000,
          "problem_name": "One of Each",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy"
          ],
          "tag_keys": [
            "data_structures",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "C",
          "problem_id": 18153,
          "problem_name": "Coloring Contention",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "D",
          "problem_id": 18004,
          "problem_name": "From A to B",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "E",
          "problem_id": 18007,
          "problem_name": "Rainbow Strings",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "string",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "string",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "F",
          "problem_id": 17995,
          "problem_name": "Fixed Point Permutations",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "G",
          "problem_id": 18006,
          "problem_name": "Glow, Pixel, Glow!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "H",
          "problem_id": 18001,
          "problem_name": "Windmill Pivot",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "bruteforcing",
            "geometry",
            "bulldozer trick"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "geometry",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "I",
          "problem_id": 17994,
          "problem_name": "Swap Free",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "parity"
          ],
          "tag_keys": [
            "bipartite_matching",
            "parity"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "J",
          "problem_id": 17996,
          "problem_name": "Interstellar Travel",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "mathematics",
            "prefix sum",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "prefix_sum",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "K",
          "problem_id": 17992,
          "problem_name": "Computer Cache",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "offline queries",
            "difference array",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop",
            "offline_queries",
            "difference_array",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "L",
          "problem_id": 17991,
          "problem_name": "Carryless Square Root",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2131,
          "problem_letter": "M",
          "problem_id": 17999,
          "problem_name": "Maze Connect",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2132,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2019 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2132,
          "problem_letter": "N",
          "problem_id": 18003,
          "problem_name": "Checkerboard",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "O",
          "problem_id": 18005,
          "problem_name": "Even or Odd?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "P",
          "problem_id": 18153,
          "problem_name": "Coloring Contention",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "Q",
          "problem_id": 18004,
          "problem_name": "From A to B",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "R",
          "problem_id": 18007,
          "problem_name": "Rainbow Strings",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "string",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "string",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "S",
          "problem_id": 18154,
          "problem_name": "Speeding",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "T",
          "problem_id": 18006,
          "problem_name": "Glow, Pixel, Glow!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "U",
          "problem_id": 18155,
          "problem_name": "Issuing Plates",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "V",
          "problem_id": 17998,
          "problem_name": "Levenshtein Distance",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "W",
          "problem_id": 18156,
          "problem_name": "Black and White",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "X",
          "problem_id": 18008,
          "problem_name": "ReMorse",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "Y",
          "problem_id": 17991,
          "problem_name": "Carryless Square Root",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2132,
          "problem_letter": "Z",
          "problem_id": 17999,
          "problem_name": "Maze Connect",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2133,
      "contest_name": "CERC 2019",
      "contest_full_name": "CERC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2133,
          "problem_letter": "A",
          "problem_id": 18171,
          "problem_name": "ABB",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "string",
            "knuth–morris–pratt",
            "manacher's"
          ],
          "tag_keys": [
            "string",
            "kmp",
            "manacher"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "manacher",
              "name": "manacher's",
              "boj_tag_id": 44
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "B",
          "problem_id": 18172,
          "problem_name": "Be Geeks!",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer",
            "segment tree with lazy propagation",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer",
            "lazyprop",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "B",
          "problem_id": 18173,
          "problem_name": "Bob in Wonderland",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "C",
          "problem_id": 18174,
          "problem_name": "Crimson Sexy Jalapeños",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "D",
          "problem_id": 18175,
          "problem_name": "Deep800080",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "G",
          "problem_id": 18176,
          "problem_name": "Zeldain Garden",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "H",
          "problem_id": 18177,
          "problem_name": "Light Emitting Hindenburg",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bitmask",
            "greedy"
          ],
          "tag_keys": [
            "bitmask",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "K",
          "problem_id": 18178,
          "problem_name": "K==S",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "tree",
            "exponentiation by squaring",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "trees",
            "exponentiation_by_squaring",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "P",
          "problem_id": 18179,
          "problem_name": "Ponk Warshall",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "S",
          "problem_id": 18180,
          "problem_name": "Saba1000kg",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "disjoint set",
            "square root decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 2133,
          "problem_letter": "S",
          "problem_id": 18181,
          "problem_name": "Screamers in the Storm",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2133,
          "problem_letter": "T",
          "problem_id": 18182,
          "problem_name": "The Bugs",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "case work"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2136,
      "contest_name": "2019 Mid-Central Regional Programming Contest",
      "contest_full_name": "2019 Mid-Central Regional Programming Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2136,
          "problem_letter": "A",
          "problem_id": 18198,
          "problem_name": "Basketball One-on-One",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "B",
          "problem_id": 18199,
          "problem_name": "Commemorative Race",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "depth-first search",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "topological sorting",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "dfs",
            "dp",
            "graphs",
            "graph_traversal",
            "topological_sorting",
            "dag"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "C",
          "problem_id": 18200,
          "problem_name": "Convoy",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "D",
          "problem_id": 18201,
          "problem_name": "Crazed Boar",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "binary_search",
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "E",
          "problem_id": 18202,
          "problem_name": "Dance Circle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "prefix sum"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "F",
          "problem_id": 18203,
          "problem_name": "Dragon Ball I",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "bruteforcing",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "G",
          "problem_id": 18204,
          "problem_name": "Dragon Ball II",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "dijkstra's",
            "graph theory",
            "randomization",
            "shortest path"
          ],
          "tag_keys": [
            "bitmask",
            "dijkstra",
            "graphs",
            "randomization",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "H",
          "problem_id": 18205,
          "problem_name": "Farming Mars",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "value / coordinate compression",
            "randomization"
          ],
          "tag_keys": [
            "bruteforcing",
            "coordinate_compression",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "I",
          "problem_id": 18206,
          "problem_name": "Soft Passwords",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "J",
          "problem_id": 18207,
          "problem_name": "Sum and Product",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "K",
          "problem_id": 18208,
          "problem_name": "True/False Worksheet",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2136,
          "problem_letter": "L",
          "problem_id": 18209,
          "problem_name": "Umm Code",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2137,
      "contest_name": "ICPC 2019 Asia Yokohama Regional",
      "contest_full_name": "ICPC 2019 Asia Yokohama Regional",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2137,
          "problem_letter": "A",
          "problem_id": 18210,
          "problem_name": "Fast Forwarding",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "B",
          "problem_id": 18211,
          "problem_name": "Estimating the Flood Risk",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "C",
          "problem_id": 18212,
          "problem_name": "Wall Painting",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "D",
          "problem_id": 18213,
          "problem_name": "Twin Trees Bros.",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "geometry",
            "tree",
            "linear algebra",
            "geometry; 3d",
            "centroid"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "trees",
            "linear_algebra",
            "geometry_3d",
            "centroid"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "E",
          "problem_id": 18214,
          "problem_name": "Reordering the Documents",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "combinatorics",
            "knapsack",
            "bipartite graph"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "combinatorics",
            "knapsack",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "F",
          "problem_id": 18215,
          "problem_name": "Halting Problem",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "implementation",
            "prefix sum",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "implementation",
            "prefix_sum",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "G",
          "problem_id": 18216,
          "problem_name": "Ambiguous Encoding",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "H",
          "problem_id": 18217,
          "problem_name": "Parentheses Editor",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "I",
          "problem_id": 18218,
          "problem_name": "One-Way Conveyors",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "articulation points and bridges",
            "biconnected component",
            "data structures",
            "disjoint set",
            "graph theory",
            "lowest common ancestor",
            "prefix sum",
            "tree"
          ],
          "tag_keys": [
            "articulation",
            "bcc",
            "data_structures",
            "disjoint_set",
            "graphs",
            "lca",
            "prefix_sum",
            "trees"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "J",
          "problem_id": 18219,
          "problem_name": "Fun Region",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "ad-hoc",
            "geometry",
            "half plane intersection",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "half_plane_intersection",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2137,
          "problem_letter": "K",
          "problem_id": 18220,
          "problem_name": "Draw in Straight Lines",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2147,
      "contest_name": "CPC 2019",
      "contest_full_name": "CPC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2147,
          "problem_letter": "A",
          "problem_id": 18276,
          "problem_name": "Alergični Aron",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "B",
          "problem_id": 18277,
          "problem_name": "Bliski Brojevi",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "C",
          "problem_id": 18278,
          "problem_name": "Crni Ceh",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "D",
          "problem_id": 18279,
          "problem_name": "Dramatični Dvoboj",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "game theory",
            "gaussian elimination",
            "linear algebra",
            "longest increasing sequence problem",
            "mathematics",
            "sprague–grundy theorem",
            "sweeping"
          ],
          "tag_keys": [
            "game_theory",
            "gaussian_elimination",
            "linear_algebra",
            "lis",
            "math",
            "sprague_grundy",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "E",
          "problem_id": 18280,
          "problem_name": "Elokventni Evaluator",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "case work",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "case_work",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "F",
          "problem_id": 18281,
          "problem_name": "Fantastični Fožgaj",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "tree",
            "exponentiation by squaring",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "trees",
            "exponentiation_by_squaring",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "G",
          "problem_id": 18282,
          "problem_name": "Golema Gozba",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "constructive",
            "depth-first search",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "constructive",
            "dfs",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "H",
          "problem_id": 18283,
          "problem_name": "Herojski Histogram",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "data structures",
            "convex hull trick",
            "li–chao tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "cht",
            "li_chao_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "I",
          "problem_id": 18284,
          "problem_name": "Idilični Instagram",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2147,
          "problem_letter": "J",
          "problem_id": 18285,
          "problem_name": "Jaki Jovsi",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "palindrome tree",
            "prefix sum",
            "string",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "palindrome_tree",
            "prefix_sum",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "palindrome_tree",
              "name": "palindrome tree",
              "boj_tag_id": 53
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2148,
      "contest_name": "SWERC 2019",
      "contest_full_name": "SWERC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 2148,
          "problem_letter": "A",
          "problem_id": 18293,
          "problem_name": "Environment-Friendly Travel",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "B",
          "problem_id": 18294,
          "problem_name": "Biodiversity",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "C",
          "problem_id": 18295,
          "problem_name": "Ants",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "D",
          "problem_id": 18296,
          "problem_name": "Gnalcats",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "E",
          "problem_id": 18297,
          "problem_name": "Pixels",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "F",
          "problem_id": 18298,
          "problem_name": "Icebergs",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "G",
          "problem_id": 18299,
          "problem_name": "Swapping Places",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "directed acyclic graph",
            "graph theory",
            "greedy",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "graphs",
            "greedy",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "H",
          "problem_id": 18300,
          "problem_name": "Pseudo-Random Number Generator",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "precomputation"
          ],
          "tag_keys": [
            "graphs",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "I",
          "problem_id": 18301,
          "problem_name": "Rats",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "J",
          "problem_id": 18302,
          "problem_name": "Counting Trees",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "K",
          "problem_id": 18303,
          "problem_name": "Bird Watching",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "strongly connected component"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "scc"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "L",
          "problem_id": 18304,
          "problem_name": "River Game",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "game theory",
            "graph theory",
            "graph traversal",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "game_theory",
            "graphs",
            "graph_traversal",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "PA",
          "problem_id": 18305,
          "problem_name": "Splitting DNA",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "PB",
          "problem_id": 18306,
          "problem_name": "Hiding Nuts",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "PC",
          "problem_id": 18307,
          "problem_name": "Visibility",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "PD",
          "problem_id": 18308,
          "problem_name": "Migration",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "sorting",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "sorting",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2148,
          "problem_letter": "PE",
          "problem_id": 18309,
          "problem_name": "Extreme Temperatures",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2154,
      "contest_name": "Tehran Site 2019",
      "contest_full_name": "Tehran Site 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2154,
          "problem_letter": "A",
          "problem_id": 18330,
          "problem_name": "Petrol",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "B",
          "problem_id": 18331,
          "problem_name": "Gold Rush",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "C",
          "problem_id": 18332,
          "problem_name": "Valid Emails",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "set / map",
            "parsing",
            "regular expression"
          ],
          "tag_keys": [
            "string",
            "set",
            "parsing",
            "regex"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "D",
          "problem_id": 18333,
          "problem_name": "Cafebazaar’s Chess Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "prefix sum",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "prefix_sum",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "E",
          "problem_id": 18334,
          "problem_name": "The Big Surprise",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "value / coordinate compression",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "coordinate_compression",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "F",
          "problem_id": 18335,
          "problem_name": "Lets Burn and Rob Manhootan",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "G",
          "problem_id": 18336,
          "problem_name": "Gift Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2154,
          "problem_letter": "H",
          "problem_id": 18337,
          "problem_name": "Passport Control Gates",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "constructive",
            "greedy"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "I",
          "problem_id": 18338,
          "problem_name": "Password",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "J",
          "problem_id": 18339,
          "problem_name": "Greedy Termite",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "K",
          "problem_id": 18340,
          "problem_name": "Plan B",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2154,
          "problem_letter": "L",
          "problem_id": 18341,
          "problem_name": "The Assembly Code",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2159,
      "contest_name": "Asia-Kabul ICPC Regional Contest 2018",
      "contest_full_name": "Asia-Kabul ICPC Regional Contest 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Asia West Continent > Afghanistan",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2159,
          "problem_letter": "A",
          "problem_id": 18382,
          "problem_name": "2048",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2159,
          "problem_letter": "B",
          "problem_id": 18383,
          "problem_name": "TATCK",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "heuristics",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "heuristics",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 2159,
          "problem_letter": "C",
          "problem_id": 18384,
          "problem_name": "PRIM",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 2159,
          "problem_letter": "D",
          "problem_id": 18385,
          "problem_name": "LJUST",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2159,
          "problem_letter": "E",
          "problem_id": 18386,
          "problem_name": "BNKQ",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2159,
          "problem_letter": "F",
          "problem_id": 18387,
          "problem_name": "ASLRDR",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "string",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2159,
          "problem_letter": "G",
          "problem_id": 18388,
          "problem_name": "SECHT",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2159,
          "problem_letter": "H",
          "problem_id": 18389,
          "problem_name": "PTOFSUG",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2159,
          "problem_letter": "I",
          "problem_id": 18390,
          "problem_name": "COPSCH",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2159,
          "problem_letter": "J",
          "problem_id": 18391,
          "problem_name": "KBLTRNS",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2160,
      "contest_name": "ICPC Asia Kabul Regional Contest 2019",
      "contest_full_name": "ICPC Asia Kabul Regional Contest 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia West Continent > Afghanistan",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2160,
          "problem_letter": "1",
          "problem_id": 18392,
          "problem_name": "SHOP",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "parsing",
            "sorting",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "sorting",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2160,
          "problem_letter": "2",
          "problem_id": 18393,
          "problem_name": "TRIP",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2160,
          "problem_letter": "3",
          "problem_id": 18394,
          "problem_name": "DUP",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2160,
          "problem_letter": "4",
          "problem_id": 18395,
          "problem_name": "CHROM",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2160,
          "problem_letter": "5",
          "problem_id": 18396,
          "problem_name": "BNKQ",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2160,
          "problem_letter": "6",
          "problem_id": 18397,
          "problem_name": "LTBL",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2160,
          "problem_letter": "7",
          "problem_id": 18398,
          "problem_name": "HOMWRK",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2160,
          "problem_letter": "8",
          "problem_id": 18399,
          "problem_name": "SENTI",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2160,
          "problem_letter": "9",
          "problem_id": 18400,
          "problem_name": "DISPER",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "mathematics",
            "statistics"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 2160,
          "problem_letter": "10",
          "problem_id": 18401,
          "problem_name": "DISH",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "string",
            "backtracking",
            "traceback",
            "longest common subsequence"
          ],
          "tag_keys": [
            "dp",
            "string",
            "backtracking",
            "traceback",
            "lcs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "lcs",
              "name": "longest common subsequence",
              "boj_tag_id": 219
            }
          ]
        },
        {
          "contest_id": 2160,
          "problem_letter": "11",
          "problem_id": 18402,
          "problem_name": "RUN",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 2160,
          "problem_letter": "12",
          "problem_id": 18403,
          "problem_name": "KABISA",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2173,
      "contest_name": "North America Championship 2020",
      "contest_full_name": "North America Championship 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2173,
          "problem_letter": "A",
          "problem_id": 18524,
          "problem_name": "Another Coin Weighing Puzzle",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "number theory",
            "möbius inversion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "mobius_inversion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "B",
          "problem_id": 18525,
          "problem_name": "Mini Battleship",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "C",
          "problem_id": 18526,
          "problem_name": "Bomas",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "data structures",
            "geometry",
            "tree",
            "set / map",
            "sweeping",
            "dynamic programming on trees",
            "set / map by trees"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "geometry",
            "trees",
            "set",
            "sweeping",
            "dp_tree",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "D",
          "problem_id": 18527,
          "problem_name": "All Kill",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "E",
          "problem_id": 18528,
          "problem_name": "Grid Guardian",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "F",
          "problem_id": 18529,
          "problem_name": "Hopscotch 50",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "G",
          "problem_id": 18530,
          "problem_name": "ICPC Camp",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "sorting",
            "binary search",
            "set / map",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "binary_search",
            "set",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "H",
          "problem_id": 18531,
          "problem_name": "Letter Wheels",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "string",
            "bruteforcing",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "I",
          "problem_id": 18532,
          "problem_name": "Editing Explosion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "J",
          "problem_id": 18533,
          "problem_name": "Lunchtime Name Recall",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "heuristics"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "K",
          "problem_id": 18534,
          "problem_name": "Rooted Subtrees",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "math",
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 2173,
          "problem_letter": "L",
          "problem_id": 18535,
          "problem_name": "Tomb Raider",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "disjoint set"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2187,
      "contest_name": "2015 Arab Collegiate Programming Contest",
      "contest_full_name": "2015 Arab Collegiate Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2187,
          "problem_letter": "A",
          "problem_id": 18670,
          "problem_name": "Christmas Tree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "euler tour technique",
            "lowest common ancestor",
            "segment tree",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "euler_tour_technique",
            "lca",
            "segtree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2187,
          "problem_letter": "B",
          "problem_id": 18671,
          "problem_name": "The Lion King",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2187,
          "problem_letter": "C",
          "problem_id": 18672,
          "problem_name": "Cultivating Mars",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull",
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 2187,
          "problem_letter": "D",
          "problem_id": 18673,
          "problem_name": "Fractionstellar",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2187,
          "problem_letter": "E",
          "problem_id": 18674,
          "problem_name": "The Minions Quiz",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "ad-hoc",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2187,
          "problem_letter": "F",
          "problem_id": 18675,
          "problem_name": "Uberfication",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2187,
          "problem_letter": "G",
          "problem_id": 18676,
          "problem_name": "DNA Evolution",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2187,
          "problem_letter": "H",
          "problem_id": 18677,
          "problem_name": "Bingo!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2187,
          "problem_letter": "I",
          "problem_id": 18678,
          "problem_name": "Journey",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2187,
          "problem_letter": "J",
          "problem_id": 18679,
          "problem_name": "Banana",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2187,
          "problem_letter": "K",
          "problem_id": 18680,
          "problem_name": "Road Network",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2188,
      "contest_name": "2016 Arab Collegiate Programming Contest",
      "contest_full_name": "2016 Arab Collegiate Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2188,
          "problem_letter": "A",
          "problem_id": 18681,
          "problem_name": "Valar Morghulis",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "B",
          "problem_id": 18682,
          "problem_name": "Rains",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "C",
          "problem_id": 18683,
          "problem_name": "Man in the middle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "D",
          "problem_id": 18684,
          "problem_name": "Lumbo Jumbo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "E",
          "problem_id": 18685,
          "problem_name": "Scrambled Digits",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "F",
          "problem_id": 18686,
          "problem_name": "Andorra",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "G",
          "problem_id": 18687,
          "problem_name": "Gotta Catch 'Em All",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "sliding window"
          ],
          "tag_keys": [
            "binary_search",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 2188,
          "problem_letter": "H",
          "problem_id": 18688,
          "problem_name": "Military Service",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "ad-hoc",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 2188,
          "problem_letter": "I",
          "problem_id": 18689,
          "problem_name": "Baklawa",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 2188,
          "problem_letter": "J",
          "problem_id": 18690,
          "problem_name": "Football Hooliganism",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2188,
          "problem_letter": "K",
          "problem_id": 18691,
          "problem_name": "Pokemon Buddy",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2188,
          "problem_letter": "L",
          "problem_id": 18692,
          "problem_name": "Shika Bika",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2189,
      "contest_name": "2017 Arab Collegiate Programming Contest",
      "contest_full_name": "2017 Arab Collegiate Programming Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2189,
          "problem_letter": "A",
          "problem_id": 18693,
          "problem_name": "Count the Graphs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2189,
          "problem_letter": "B",
          "problem_id": 18694,
          "problem_name": "Game of Nim Everywhere",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "game theory",
            "mathematics",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "math",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 2189,
          "problem_letter": "C",
          "problem_id": 18695,
          "problem_name": "FIFA World Cup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2189,
          "problem_letter": "D",
          "problem_id": 18696,
          "problem_name": "Crazy LCP",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2189,
          "problem_letter": "E",
          "problem_id": 18697,
          "problem_name": "This Means War",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2189,
          "problem_letter": "F",
          "problem_id": 18698,
          "problem_name": "The Walking Adam",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2189,
          "problem_letter": "G",
          "problem_id": 18699,
          "problem_name": "Darts Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2189,
          "problem_letter": "H",
          "problem_id": 18700,
          "problem_name": "Stock Exchange",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2189,
          "problem_letter": "I",
          "problem_id": 18701,
          "problem_name": "Winter is Here",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2189,
          "problem_letter": "J",
          "problem_id": 18702,
          "problem_name": "Array Queries",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "segment tree beats"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop",
            "beats"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "beats",
              "name": "segment tree beats",
              "boj_tag_id": 226
            }
          ]
        },
        {
          "contest_id": 2189,
          "problem_letter": "K",
          "problem_id": 18703,
          "problem_name": "Duplicate Files",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2190,
      "contest_name": "2018 Arab Collegiate Programming Contest",
      "contest_full_name": "2018 Arab Collegiate Programming Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Africa and Arab > Arab Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2190,
          "problem_letter": "A",
          "problem_id": 18704,
          "problem_name": "Awesome Shawarma",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "divide and conquer",
            "smaller to larger technique",
            "centroid",
            "centroid decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "divide_and_conquer",
            "smaller_to_larger",
            "centroid",
            "centroid_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "B",
          "problem_id": 18705,
          "problem_name": "Baklava Tray",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "C",
          "problem_id": 18706,
          "problem_name": "Coffee",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "string",
            "set / map",
            "arithmetic",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "string",
            "set",
            "arithmetic",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "D",
          "problem_id": 18707,
          "problem_name": "Dull Chocolates",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "value / coordinate compression",
            "prefix sum"
          ],
          "tag_keys": [
            "coordinate_compression",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "E",
          "problem_id": 18708,
          "problem_name": "Exciting Menus",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "aho-corasick",
            "data structures",
            "dynamic programming",
            "segment tree",
            "string",
            "suffix array and lcp array",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "aho_corasick",
            "data_structures",
            "dp",
            "segtree",
            "string",
            "suffix_array",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "F",
          "problem_id": 18709,
          "problem_name": "Flipping El-fetiera",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "linearity of expectation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "linearity_of_expectation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "G",
          "problem_id": 18710,
          "problem_name": "Greatest Chicken Dish",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "euclidean algorithm",
            "mathematics",
            "mo's",
            "modular multiplicative inverse",
            "number theory",
            "offline queries",
            "segment tree",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "euclidean",
            "math",
            "mo",
            "modular_multiplicative_inverse",
            "number_theory",
            "offline_queries",
            "segtree",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "H",
          "problem_id": 18711,
          "problem_name": "Hawawshi Decryption",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "discrete logarithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "discrete_log"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "discrete_log",
              "name": "discrete logarithm",
              "boj_tag_id": 146
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "I",
          "problem_id": 18712,
          "problem_name": "Ice-cream Knapsack",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "J",
          "problem_id": 18713,
          "problem_name": "Journey to Jupiter",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 2190,
          "problem_letter": "K",
          "problem_id": 18714,
          "problem_name": "Khoshaf",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2190,
          "problem_letter": "L",
          "problem_id": 18715,
          "problem_name": "Looking for Taste",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2204,
      "contest_name": "2019 ICPC South Pacific Regionals",
      "contest_full_name": "2019 ICPC South Pacific Regionals",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2204,
          "problem_letter": "A",
          "problem_id": 18810,
          "problem_name": "Amazing Sushi",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2204,
          "problem_letter": "B",
          "problem_id": 18811,
          "problem_name": "Bubble Bucket Sort",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2204,
          "problem_letter": "C",
          "problem_id": 18812,
          "problem_name": "Cartography",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2204,
          "problem_letter": "D",
          "problem_id": 18813,
          "problem_name": "Divisionals Spelling",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2204,
          "problem_letter": "E",
          "problem_id": 18814,
          "problem_name": "Entering Rectangles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2204,
          "problem_letter": "F",
          "problem_id": 18815,
          "problem_name": "Fabulous Photos",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2204,
          "problem_letter": "G",
          "problem_id": 18816,
          "problem_name": "Grid City",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2204,
          "problem_letter": "H",
          "problem_id": 18817,
          "problem_name": "Heroic Heist",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "parametric search",
            "bipartite matching"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 2204,
          "problem_letter": "I",
          "problem_id": 18818,
          "problem_name": "Iguana Instructions",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2204,
          "problem_letter": "J",
          "problem_id": 18819,
          "problem_name": "Jumping Junipers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2204,
          "problem_letter": "K",
          "problem_id": 18820,
          "problem_name": "Karaoke Meetup",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "shortest path",
            "dijkstra's",
            "dynamic programming on trees",
            "rerooting on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "shortest_path",
            "dijkstra",
            "dp_tree",
            "rerooting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "rerooting",
              "name": "rerooting on trees",
              "boj_tag_id": 233
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2212,
      "contest_name": "AMPPZ 2017",
      "contest_full_name": "AMPPZ 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2212,
          "problem_letter": "A",
          "problem_id": 18894,
          "problem_name": "Alternative Permutations",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "backtracking",
            "bruteforcing",
            "dynamic programming"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "dp"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "B",
          "problem_id": 18895,
          "problem_name": "Cartoons",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "C",
          "problem_id": 18896,
          "problem_name": "Identifier Sequence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2212,
          "problem_letter": "D",
          "problem_id": 18897,
          "problem_name": "Daycare Children",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "E",
          "problem_id": 18898,
          "problem_name": "English",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "backtracking",
            "heuristics"
          ],
          "tag_keys": [
            "backtracking",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "F",
          "problem_id": 18899,
          "problem_name": "Encryption Function",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "backtracking",
            "mathematics"
          ],
          "tag_keys": [
            "backtracking",
            "math"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "G",
          "problem_id": 18900,
          "problem_name": "Printer's Head",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "H",
          "problem_id": 18901,
          "problem_name": "Passwords",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "directed acyclic graph",
            "data structures",
            "graph theory",
            "greedy",
            "priority queue",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "data_structures",
            "graphs",
            "greedy",
            "priority_queue",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "I",
          "problem_id": 18902,
          "problem_name": "Laser Intensification",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "J",
          "problem_id": 18903,
          "problem_name": "Autumn Cleaning (16 MiB ML!)",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "combinatorics",
            "modular multiplicative inverse",
            "fast fourier transform",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "combinatorics",
            "modular_multiplicative_inverse",
            "fft",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "K",
          "problem_id": 18904,
          "problem_name": "Chip Cards (16 MiB ML!)",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "L",
          "problem_id": 18905,
          "problem_name": "Camping in the woods",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "binary search",
            "prefix sum",
            "divide and conquer",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "binary_search",
            "prefix_sum",
            "divide_and_conquer",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2212,
          "problem_letter": "M",
          "problem_id": 18906,
          "problem_name": "Minimal Variance Tree",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "divide and conquer",
            "graph theory",
            "link/cut tree",
            "mathematics",
            "minimum spanning tree",
            "tree"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "graphs",
            "link_cut_tree",
            "math",
            "mst",
            "trees"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "link_cut_tree",
              "name": "link/cut tree",
              "boj_tag_id": 98
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2235,
      "contest_name": "The 2019 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2019 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2235,
          "problem_letter": "A",
          "problem_id": 19155,
          "problem_name": "Copying Homework",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "B",
          "problem_id": 19156,
          "problem_name": "Cleaning Robots",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "dynamic programming on trees",
            "mathematics",
            "prefix sum",
            "tree"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "dp_tree",
            "math",
            "prefix_sum",
            "trees"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "C",
          "problem_id": 19157,
          "problem_name": "Even Path",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "prefix sum"
          ],
          "tag_keys": [
            "ad_hoc",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "D",
          "problem_id": 19158,
          "problem_name": "Find String in a Grid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2235,
          "problem_letter": "E",
          "problem_id": 19159,
          "problem_name": "Songwriter",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "F",
          "problem_id": 19160,
          "problem_name": "Regular Forestation",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "tree",
            "hashing",
            "tree isomorphism"
          ],
          "tag_keys": [
            "trees",
            "hashing",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "G",
          "problem_id": 19161,
          "problem_name": "Performance Review",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "H",
          "problem_id": 19162,
          "problem_name": "Twin Buildings",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "I",
          "problem_id": 19163,
          "problem_name": "Mission Possible",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2235,
          "problem_letter": "J",
          "problem_id": 19164,
          "problem_name": "Tiling Terrace",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "K",
          "problem_id": 19165,
          "problem_name": "Addition Robot",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "lazyprop",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 2235,
          "problem_letter": "L",
          "problem_id": 19166,
          "problem_name": "Road Construction",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "bipartite matching",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "bipartite_matching",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2241,
      "contest_name": "Northern Eurasia Finals 2019",
      "contest_full_name": "Northern Eurasia Finals 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2241,
          "problem_letter": "A",
          "problem_id": 19218,
          "problem_name": "Apprentice Learning Trajectory",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "B",
          "problem_id": 19219,
          "problem_name": "Balls of Buma",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "C",
          "problem_id": 19220,
          "problem_name": "Cactus Revenge",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "constructive",
            "cactus"
          ],
          "tag_keys": [
            "graphs",
            "constructive",
            "cactus"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "D",
          "problem_id": 19221,
          "problem_name": "DevOps Best Practices",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "graph theory",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "E",
          "problem_id": 19222,
          "problem_name": "Elections",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "F",
          "problem_id": 19223,
          "problem_name": "Foolprüf Security",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "G",
          "problem_id": 19224,
          "problem_name": "Game Relics",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "knapsack",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "knapsack",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "H",
          "problem_id": 19225,
          "problem_name": "Help BerLine",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "constructive",
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "constructive",
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "I",
          "problem_id": 19226,
          "problem_name": "Intriguing Selection",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "J",
          "problem_id": 19227,
          "problem_name": "Just Arrange the Icons",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "data structures",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "K",
          "problem_id": 19228,
          "problem_name": "Key Storage",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2241,
          "problem_letter": "L",
          "problem_id": 19229,
          "problem_name": "Lexicography",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "constructive",
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2330,
      "contest_name": "Seoul Nationalwide Internet Competition 2020",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2330,
          "problem_letter": "A",
          "problem_id": 20036,
          "problem_name": "Ball Alignment",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "sorting",
            "binary search",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "binary_search",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "B",
          "problem_id": 20037,
          "problem_name": "Bit String",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "dp",
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "C",
          "problem_id": 20038,
          "problem_name": "Broken Tiles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2330,
          "problem_letter": "D",
          "problem_id": 20039,
          "problem_name": "Coronavirus Trend",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "E",
          "problem_id": 20040,
          "problem_name": "사이클 게임",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "F",
          "problem_id": 20041,
          "problem_name": "Escaping",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "G",
          "problem_id": 20042,
          "problem_name": "Hotspots",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "H",
          "problem_id": 20043,
          "problem_name": "Negative Cycle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2330,
          "problem_letter": "I",
          "problem_id": 20044,
          "problem_name": "Project Teams",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "J",
          "problem_id": 20045,
          "problem_name": "Trading System",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "prefix sum",
            "priority queue",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "prefix_sum",
            "priority_queue",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "K",
          "problem_id": 20046,
          "problem_name": "Road Reconstruction",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 2330,
          "problem_letter": "L",
          "problem_id": 20047,
          "problem_name": "동전 옮기기",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2339,
      "contest_name": "Asia Regional - Seoul 2020",
      "contest_full_name": "Asia Regional - Seoul 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2339,
          "problem_letter": "A",
          "problem_id": 20169,
          "problem_name": "Autonomous Vehicle",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "geometry",
            "binary search",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "binary_search",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "B",
          "problem_id": 20170,
          "problem_name": "Commemorative Dice",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "C",
          "problem_id": 20171,
          "problem_name": "Dessert Café",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "D",
          "problem_id": 20172,
          "problem_name": "Electric Vehicle",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "E",
          "problem_id": 20173,
          "problem_name": "Imprecise Computer",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "constructive"
          ],
          "tag_keys": [
            "dp",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "F",
          "problem_id": 20174,
          "problem_name": "Ink Mix",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "tree",
            "dominator tree"
          ],
          "tag_keys": [
            "trees",
            "dominator_tree"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dominator_tree",
              "name": "dominator tree",
              "boj_tag_id": 135
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "G",
          "problem_id": 20175,
          "problem_name": "Mobile Robot",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "H",
          "problem_id": 20176,
          "problem_name": "Needle",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "I",
          "problem_id": 20177,
          "problem_name": "Stock Analysis",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "offline queries",
            "multidimensional segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "offline_queries",
            "multi_segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "multi_segtree",
              "name": "multidimensional segment tree",
              "boj_tag_id": 166
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "J",
          "problem_id": 20178,
          "problem_name": "Switches",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "K",
          "problem_id": 20179,
          "problem_name": "Tiling Polyomino",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2339,
          "problem_letter": "L",
          "problem_id": 20180,
          "problem_name": "Two Buildings",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "divide and conquer",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "divide_and_conquer",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2346,
      "contest_name": "BAPC 2020 Preliminaries",
      "contest_full_name": "BAPC 2020 Preliminaries",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2346,
          "problem_letter": "A",
          "problem_id": 20213,
          "problem_name": "Adversarial Memory",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "greedy",
            "constructive",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "constructive",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "B",
          "problem_id": 20214,
          "problem_name": "Binary Seating",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "sorting",
            "combinatorics",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "combinatorics",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "C",
          "problem_id": 20215,
          "problem_name": "Cutting Corners",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "D",
          "problem_id": 20216,
          "problem_name": "Ducky Debugging",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "E",
          "problem_id": 20217,
          "problem_name": "Eightgon",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "geometry",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "F",
          "problem_id": 20218,
          "problem_name": "Figure Skating",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "G",
          "problem_id": 20219,
          "problem_name": "Group Project",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "bipartite graph",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "greedy"
          ],
          "tag_keys": [
            "bipartite_graph",
            "dfs",
            "graphs",
            "graph_traversal",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "H",
          "problem_id": 20220,
          "problem_name": "Human Pyramid",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "I",
          "problem_id": 20221,
          "problem_name": "In-place Sorting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "J",
          "problem_id": 20222,
          "problem_name": "Jam-packed",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2346,
          "problem_letter": "K",
          "problem_id": 20223,
          "problem_name": "Kangaroo Commotion",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2347,
      "contest_name": "2020 Japan Domestic Contest",
      "contest_full_name": "2020 Japan Domestic Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 2347,
          "problem_letter": "A",
          "problem_id": 20224,
          "problem_name": "Count <s>Down</s> Up 2020",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2347,
          "problem_letter": "B",
          "problem_id": 20225,
          "problem_name": "Contact Tracer",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2347,
          "problem_letter": "C",
          "problem_id": 20226,
          "problem_name": "Luggage",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "binary search",
            "primality test",
            "prime factorization",
            "pollard rho",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "binary_search",
            "primality_test",
            "prime_factorization",
            "pollard_rho",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 2347,
          "problem_letter": "D",
          "problem_id": 20227,
          "problem_name": "Icpcan Alphabet",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2347,
          "problem_letter": "E",
          "problem_id": 20228,
          "problem_name": "Keima",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2347,
          "problem_letter": "F",
          "problem_id": 20229,
          "problem_name": "Evacuation Site",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2347,
          "problem_letter": "G",
          "problem_id": 20230,
          "problem_name": "Avoiding Three Cs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2347,
          "problem_letter": "H",
          "problem_id": 20231,
          "problem_name": "Idealistic Canister",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "case work",
            "parametric search",
            "convex hull",
            "ternary search",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "case_work",
            "parametric_search",
            "convex_hull",
            "ternary_search",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2348,
      "contest_name": "ICPC 2020-2021 North-Western Russia Regional Contest",
      "contest_full_name": "ICPC 2020-2021 North-Western Russia Regional Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 2348,
          "problem_letter": "A",
          "problem_id": 20232,
          "problem_name": "Archivist",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "B",
          "problem_id": 20233,
          "problem_name": "Bicycle",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "C",
          "problem_id": 20234,
          "problem_name": "Corrupted Sort",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "sorting"
          ],
          "tag_keys": [
            "ad_hoc",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "D",
          "problem_id": 20235,
          "problem_name": "Display",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "E",
          "problem_id": 20236,
          "problem_name": "Easy Compare-and-Set",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "eulerian path / circuit",
            "graph theory"
          ],
          "tag_keys": [
            "eulerian_path",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "F",
          "problem_id": 20237,
          "problem_name": "Futures Market Trends",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "mathematics",
            "prefix sum",
            "statistics"
          ],
          "tag_keys": [
            "bruteforcing",
            "math",
            "prefix_sum",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "G",
          "problem_id": 20238,
          "problem_name": "Grammar Path",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "arbitrary precision / big integers",
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "H",
          "problem_id": 20239,
          "problem_name": "Heroes of Coin Flipping",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "linearity of expectation",
            "mathematics",
            "probability theory",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "linearity_of_expectation",
            "math",
            "probability",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "I",
          "problem_id": 20240,
          "problem_name": "Integer Square",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "bruteforcing",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "J",
          "problem_id": 20241,
          "problem_name": "Joint Password Storage",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2348,
          "problem_letter": "K",
          "problem_id": 20242,
          "problem_name": "Keys and Locks Boolean Logic",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bitmask",
            "constructive",
            "data structures",
            "parsing",
            "sparse table",
            "string"
          ],
          "tag_keys": [
            "bitmask",
            "constructive",
            "data_structures",
            "parsing",
            "sparse_table",
            "string"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "L",
          "problem_id": 20243,
          "problem_name": "Lost Permutation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "M",
          "problem_id": 20244,
          "problem_name": "Mind the Gap",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2348,
          "problem_letter": "N",
          "problem_id": 20245,
          "problem_name": "Nunchucks Shop",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2349,
      "contest_name": "TOPC 2020",
      "contest_full_name": "TOPC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2349,
          "problem_letter": "A",
          "problem_id": 20246,
          "problem_name": "Pac-Man",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "B",
          "problem_id": 20247,
          "problem_name": "Folding",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "C",
          "problem_id": 20248,
          "problem_name": "Circles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "geometry",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "D",
          "problem_id": 20249,
          "problem_name": "Last Will",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "E",
          "problem_id": 20250,
          "problem_name": "Eric’s Work",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive",
            "bitmask"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "F",
          "problem_id": 20251,
          "problem_name": "Homework",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "segment tree with lazy propagation",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "lazyprop",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "G",
          "problem_id": 20252,
          "problem_name": "Garden",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "bipartite matching",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "bipartite_matching",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "H",
          "problem_id": 20253,
          "problem_name": "In The Name Of Confusion",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "I",
          "problem_id": 20254,
          "problem_name": "Site Score",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2349,
          "problem_letter": "J",
          "problem_id": 20255,
          "problem_name": "Table Tennis",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2350,
      "contest_name": "2020 ICPC Asia Taipei-Hsinchu Regional",
      "contest_full_name": "2020 ICPC Asia Taipei-Hsinchu Regional",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2350,
          "problem_letter": "A",
          "problem_id": 20256,
          "problem_name": "Right-Coupled Numbers",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "B",
          "problem_id": 20257,
          "problem_name": "Make Numbers",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "C",
          "problem_id": 20258,
          "problem_name": "Pyramid",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "D",
          "problem_id": 20259,
          "problem_name": "Quality Monitoring",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "E",
          "problem_id": 20260,
          "problem_name": "A Color Game",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "F",
          "problem_id": 20261,
          "problem_name": "Cable Protection",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "G",
          "problem_id": 20262,
          "problem_name": "Graph Cards",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "string",
            "tree",
            "hashing",
            "suffix array and lcp array",
            "tree isomorphism"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "trees",
            "hashing",
            "suffix_array",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "H",
          "problem_id": 20263,
          "problem_name": "Optimization for UltraNet",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "mst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "I",
          "problem_id": 20264,
          "problem_name": "Critical Structures",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "articulation points and bridges",
            "biconnected component"
          ],
          "tag_keys": [
            "graphs",
            "articulation",
            "bcc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            }
          ]
        },
        {
          "contest_id": 2350,
          "problem_letter": "J",
          "problem_id": 20265,
          "problem_name": "Puzzle Game",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2350,
          "problem_letter": "K",
          "problem_id": 20266,
          "problem_name": "Number with Bachelors",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2350,
          "problem_letter": "L",
          "problem_id": 20267,
          "problem_name": "Save lives or money",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2350,
          "problem_letter": "M",
          "problem_id": 20268,
          "problem_name": "Keystroke",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2351,
      "contest_name": "Concours interne de programmation Télécom ParisTech 2019",
      "contest_full_name": "Concours interne de programmation Télécom ParisTech 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest > Télécom ParisTech Internal Selection",
      "problem_count": 7,
      "problems": [
        {
          "contest_id": 2351,
          "problem_letter": "A",
          "problem_id": 20269,
          "problem_name": "Obélix",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2351,
          "problem_letter": "B",
          "problem_id": 20270,
          "problem_name": "Thistle Darkwater",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2351,
          "problem_letter": "C",
          "problem_id": 20271,
          "problem_name": "Bad-hash students",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "data structures",
            "hashing",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hashing",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2351,
          "problem_letter": "D",
          "problem_id": 20272,
          "problem_name": "Tournament turn-around",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2351,
          "problem_letter": "E",
          "problem_id": 20273,
          "problem_name": "You’ve goat me stumped",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2351,
          "problem_letter": "F",
          "problem_id": 20274,
          "problem_name": "256 shades of Gray",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2351,
          "problem_letter": "G",
          "problem_id": 20275,
          "problem_name": "Battlecheap",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2352,
      "contest_name": "Maratona de Programação SBC 2020",
      "contest_full_name": "Maratona de Programação SBC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 2352,
          "problem_letter": "A",
          "problem_id": 20276,
          "problem_name": "Álbum de Figurinhas",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "B",
          "problem_id": 20277,
          "problem_name": "Batalha Naval",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "C",
          "problem_id": 20278,
          "problem_name": "Concatenando Times",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2352,
          "problem_letter": "D",
          "problem_id": 20279,
          "problem_name": "Dança da Divisibilidade",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "string",
            "exponentiation by squaring",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "math",
            "string",
            "exponentiation_by_squaring",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "E",
          "problem_id": 20280,
          "problem_name": "Empresa de Festas",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "segment tree",
            "depth-first search",
            "offline queries",
            "sparse table",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "segtree",
            "dfs",
            "offline_queries",
            "sparse_table",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "F",
          "problem_id": 20281,
          "problem_name": "Fastminton",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "G",
          "problem_id": 20282,
          "problem_name": "Game Show!",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "H",
          "problem_id": 20283,
          "problem_name": "Hangar do SBC",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "I",
          "problem_id": 20284,
          "problem_name": "Interatividade",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "J",
          "problem_id": 20285,
          "problem_name": "Juntando Dados",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2352,
          "problem_letter": "K",
          "problem_id": 20286,
          "problem_name": "Ká entre Nós",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "L",
          "problem_id": 20287,
          "problem_name": "Lavaspar",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "M",
          "problem_id": 20288,
          "problem_name": "Metralhadora",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2352,
          "problem_letter": "N",
          "problem_id": 20289,
          "problem_name": "Números Multiplicados",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 2352,
          "problem_letter": "O",
          "problem_id": 20290,
          "problem_name": "Ônibus Venusiano",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2357,
      "contest_name": "CPC 2020",
      "contest_full_name": "CPC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2357,
          "problem_letter": "A",
          "problem_id": 20316,
          "problem_name": "ASCII Art",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2357,
          "problem_letter": "B",
          "problem_id": 20317,
          "problem_name": "Brzi Biljar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2357,
          "problem_letter": "C",
          "problem_id": 20318,
          "problem_name": "Carska Civilizacija",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "monotone queue optimization"
          ],
          "tag_keys": [
            "dp",
            "monotone_queue_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "monotone_queue_optimization",
              "name": "monotone queue optimization",
              "boj_tag_id": 165
            }
          ]
        },
        {
          "contest_id": 2357,
          "problem_letter": "D",
          "problem_id": 20319,
          "problem_name": "Drugi Dio",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2357,
          "problem_letter": "E",
          "problem_id": 20320,
          "problem_name": "Ekstremna Ekspedicija",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "depth-first search",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "lowest common ancestor",
            "mathematics",
            "probability theory",
            "sparse table",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "lca",
            "math",
            "probability",
            "sparse_table",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2357,
          "problem_letter": "F",
          "problem_id": 20321,
          "problem_name": "Fenomenalni Fenjer",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2357,
          "problem_letter": "G",
          "problem_id": 20322,
          "problem_name": "Gospodar Gljiva",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2357,
          "problem_letter": "H",
          "problem_id": 20323,
          "problem_name": "Hvalevrijedan Hitac",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2357,
          "problem_letter": "I",
          "problem_id": 20324,
          "problem_name": "Izvanredna Isplata",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "binary search"
          ],
          "tag_keys": [
            "dp",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2357,
          "problem_letter": "J",
          "problem_id": 20325,
          "problem_name": "Jači Jovsi",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "palindrome tree",
            "prefix sum",
            "string",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "palindrome_tree",
            "prefix_sum",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "palindrome_tree",
              "name": "palindrome tree",
              "boj_tag_id": 53
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2357,
          "problem_letter": "K",
          "problem_id": 20326,
          "problem_name": "Klasična Karantena",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2358,
      "contest_name": "UKIEPC 2020",
      "contest_full_name": "UKIEPC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2358,
          "problem_letter": "A",
          "problem_id": 20329,
          "problem_name": "Aquarium",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "B",
          "problem_id": 20330,
          "problem_name": "Bidirectional Code",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "C",
          "problem_id": 20331,
          "problem_name": "Corrupt Judge",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "D",
          "problem_id": 20332,
          "problem_name": "Divvying Up",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "E",
          "problem_id": 20333,
          "problem_name": "Elevator Pitch",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "F",
          "problem_id": 20334,
          "problem_name": "Family Fares",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "G",
          "problem_id": 20335,
          "problem_name": "Generators",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "H",
          "problem_id": 20336,
          "problem_name": "Haughty Cuisine",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "I",
          "problem_id": 20337,
          "problem_name": "Incomplete Sort",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "sorting",
            "constructive"
          ],
          "tag_keys": [
            "sorting",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "J",
          "problem_id": 20338,
          "problem_name": "Jigsaw",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "K",
          "problem_id": 20339,
          "problem_name": "Kleptocrat",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "bitmask",
            "depth-first search",
            "linear algebra",
            "gaussian elimination",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bitmask",
            "dfs",
            "linear_algebra",
            "gaussian_elimination",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "L",
          "problem_id": 20340,
          "problem_name": "Lost Map",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "string",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "string",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 2358,
          "problem_letter": "M",
          "problem_id": 20341,
          "problem_name": "Moderate Pace",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2360,
      "contest_name": "BAPC 2020",
      "contest_full_name": "BAPC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2360,
          "problem_letter": "A",
          "problem_id": 20329,
          "problem_name": "Aquarium",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "greedy",
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "B",
          "problem_id": 20330,
          "problem_name": "Bidirectional Code",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "C",
          "problem_id": 20331,
          "problem_name": "Corrupt Judge",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "D",
          "problem_id": 20348,
          "problem_name": "Destabilized Drone",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "E",
          "problem_id": 20333,
          "problem_name": "Elevator Pitch",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "F",
          "problem_id": 20334,
          "problem_name": "Family Fares",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "G",
          "problem_id": 20335,
          "problem_name": "Generators",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "H",
          "problem_id": 20336,
          "problem_name": "Haughty Cuisine",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "I",
          "problem_id": 20337,
          "problem_name": "Incomplete Sort",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "sorting",
            "constructive"
          ],
          "tag_keys": [
            "sorting",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "J",
          "problem_id": 20338,
          "problem_name": "Jigsaw",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2360,
          "problem_letter": "K",
          "problem_id": 20349,
          "problem_name": "Xortest Path",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "bitmask",
            "depth-first search",
            "linear algebra",
            "gaussian elimination",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bitmask",
            "dfs",
            "linear_algebra",
            "gaussian_elimination",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2361,
      "contest_name": "CERC 2002",
      "contest_full_name": "CERC 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2361,
          "problem_letter": "A",
          "problem_id": 6298,
          "problem_name": "Family",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2361,
          "problem_letter": "B",
          "problem_id": 6297,
          "problem_name": "Intervals",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 2361,
          "problem_letter": "C",
          "problem_id": 20356,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2361,
          "problem_letter": "D",
          "problem_id": 20357,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2361,
          "problem_letter": "E",
          "problem_id": 6203,
          "problem_name": "Serious Cow Tag",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2361,
          "problem_letter": "F",
          "problem_id": 6294,
          "problem_name": "Solitaire",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "bruteforcing",
            "set / map",
            "meet in the middle"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "set",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 2361,
          "problem_letter": "G",
          "problem_id": 6299,
          "problem_name": "Timetable",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2361,
          "problem_letter": "H",
          "problem_id": 20358,
          "problem_name": "Voracious Steve",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 2361,
          "problem_letter": "PA",
          "problem_id": 20359,
          "problem_name": "A simple task",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2361,
          "problem_letter": "PB",
          "problem_id": 20360,
          "problem_name": "Binary numbers",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2362,
      "contest_name": "1994 Mid-Central Regional Programming Contest",
      "contest_full_name": "1994 Mid-Central Regional Programming Contest",
      "contest_year": 1994,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 2362,
          "problem_letter": "1",
          "problem_id": 20377,
          "problem_name": "A Colorful Problem",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2362,
          "problem_letter": "2",
          "problem_id": 20378,
          "problem_name": "Cyclic Numbers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 2362,
          "problem_letter": "3",
          "problem_id": 20379,
          "problem_name": "Deer Me",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "arithmetic",
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "arithmetic",
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2362,
          "problem_letter": "4",
          "problem_id": 20380,
          "problem_name": "Matrix Excryption",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 2362,
          "problem_letter": "5",
          "problem_id": 20381,
          "problem_name": "The Set's the Thing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2362,
          "problem_letter": "6",
          "problem_id": 20382,
          "problem_name": "VCR++ Codes",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "bitmask",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bitmask",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2363,
      "contest_name": "1993 Mid-Central Regional Programming Contest",
      "contest_full_name": "1993 Mid-Central Regional Programming Contest",
      "contest_year": 1993,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 2363,
          "problem_letter": "1",
          "problem_id": 20383,
          "problem_name": "The Programmer's Hex",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2363,
          "problem_letter": "2",
          "problem_id": 20384,
          "problem_name": "Dart-a-Mania",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2363,
          "problem_letter": "3",
          "problem_id": 20385,
          "problem_name": "Lost in Space",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2363,
          "problem_letter": "4",
          "problem_id": 20386,
          "problem_name": "Gleaming the Cubes",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 2363,
          "problem_letter": "5",
          "problem_id": 20387,
          "problem_name": "A Logical Problem",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "directed acyclic graph",
            "graph theory",
            "graph traversal",
            "implementation",
            "simulation",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "graphs",
            "graph_traversal",
            "implementation",
            "simulation",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2363,
          "problem_letter": "6",
          "problem_id": 20388,
          "problem_name": "Soundex Indexing",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2395,
      "contest_name": "Tehran Site 2020",
      "contest_full_name": "Tehran Site 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2395,
          "problem_letter": "A",
          "problem_id": 20673,
          "problem_name": "Covid-19",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "B",
          "problem_id": 20674,
          "problem_name": "Statistics",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "C",
          "problem_id": 20675,
          "problem_name": "Science Fiction",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "D",
          "problem_id": 20676,
          "problem_name": "Necklace Construction",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2395,
          "problem_letter": "E",
          "problem_id": 20677,
          "problem_name": "Social Distancing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "F",
          "problem_id": 20678,
          "problem_name": "Hezardastan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2395,
          "problem_letter": "G",
          "problem_id": 20679,
          "problem_name": "JJ Rally",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2395,
          "problem_letter": "H",
          "problem_id": 20680,
          "problem_name": "Birds Rituals",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "I",
          "problem_id": 20681,
          "problem_name": "Black Family Tree",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "J",
          "problem_id": 20682,
          "problem_name": "Vaccination Against Corona",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2395,
          "problem_letter": "K",
          "problem_id": 20683,
          "problem_name": "McFly",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2395,
          "problem_letter": "L",
          "problem_id": 20684,
          "problem_name": "The Last Supper",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2395,
          "problem_letter": "M",
          "problem_id": 20685,
          "problem_name": "Stabbing Number",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2396,
      "contest_name": "The 2020 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2020 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2396,
          "problem_letter": "A",
          "problem_id": 20686,
          "problem_name": "Comic Binge",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "B",
          "problem_id": 20687,
          "problem_name": "Moon and Sun",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "modular multiplicative inverse",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "modular_multiplicative_inverse",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "C",
          "problem_id": 20688,
          "problem_name": "Cul-De-Sac Parades",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "D",
          "problem_id": 20689,
          "problem_name": "Forbidden Card",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "ad-hoc"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "E",
          "problem_id": 20690,
          "problem_name": "Exchange Bottleneck",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "F",
          "problem_id": 20691,
          "problem_name": "Shopping Changes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "prefix sum",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "prefix_sum",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "G",
          "problem_id": 20692,
          "problem_name": "Permutation Transformation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "permutation cycle decomposition",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "permutation_cycle_decomposition",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "H",
          "problem_id": 20693,
          "problem_name": "Writing Tasks",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "data structures",
            "bruteforcing",
            "graph traversal",
            "ad-hoc",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "bruteforcing",
            "graph_traversal",
            "ad_hoc",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "I",
          "problem_id": 20694,
          "problem_name": "Red Black Ball",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "J",
          "problem_id": 20695,
          "problem_name": "Token Distance",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "set / map",
            "set / map by trees",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "set",
            "tree_set",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "K",
          "problem_id": 20696,
          "problem_name": "Tree Beauty",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "segment tree",
            "depth-first search",
            "segment tree with lazy propagation",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "segtree",
            "dfs",
            "lazyprop",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 2396,
          "problem_letter": "L",
          "problem_id": 20697,
          "problem_name": "Robust Defense",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2396,
          "problem_letter": "M",
          "problem_id": 20698,
          "problem_name": "Police Stations",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2397,
      "contest_name": "Northern Eurasia Finals 2020 (Online)",
      "contest_full_name": "Northern Eurasia Finals 2020 (Online)",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 2397,
          "problem_letter": "A",
          "problem_id": 20699,
          "problem_name": "Almost Balanced Tree",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive",
            "recursion"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "B",
          "problem_id": 20700,
          "problem_name": "Brain-teaser",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2397,
          "problem_letter": "C",
          "problem_id": 20701,
          "problem_name": "Color the Tree",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "D",
          "problem_id": 20702,
          "problem_name": "Down We Dig",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "game theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "E",
          "problem_id": 20703,
          "problem_name": "Easy Measurements",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "euclidean algorithm",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "euclidean",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "F",
          "problem_id": 20704,
          "problem_name": "Find a Square",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "discrete square root",
            "mathematics",
            "modular multiplicative inverse",
            "number theory"
          ],
          "tag_keys": [
            "discrete_sqrt",
            "math",
            "modular_multiplicative_inverse",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "discrete_sqrt",
              "name": "discrete square root",
              "boj_tag_id": 147
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "G",
          "problem_id": 20705,
          "problem_name": "Geometrical Combinatorics",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "combinatorics",
            "geometry",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "geometry",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "H",
          "problem_id": 20706,
          "problem_name": "Hit the Hay",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2397,
          "problem_letter": "I",
          "problem_id": 20707,
          "problem_name": "Interactive Knockout",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2397,
          "problem_letter": "J",
          "problem_id": 20708,
          "problem_name": "Jumping Cat",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2397,
          "problem_letter": "K",
          "problem_id": 20709,
          "problem_name": "Kate's 2021 Celebration",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "L",
          "problem_id": 20710,
          "problem_name": "Lookup Performance",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "case work",
            "offline queries",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "case_work",
            "offline_queries",
            "lca"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "M",
          "problem_id": 20711,
          "problem_name": "Miser",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2397,
          "problem_letter": "N",
          "problem_id": 20712,
          "problem_name": "New Flat",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2397,
          "problem_letter": "O",
          "problem_id": 20713,
          "problem_name": "Optimum Server Location",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2427,
      "contest_name": "GCPC 2020",
      "contest_full_name": "GCPC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2427,
          "problem_letter": "A",
          "problem_id": 20901,
          "problem_name": "Adolescent Architecture",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "B",
          "problem_id": 20902,
          "problem_name": "Bookshelf Building",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "C",
          "problem_id": 20903,
          "problem_name": "Confined Catching",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive",
            "game theory"
          ],
          "tag_keys": [
            "constructive",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "D",
          "problem_id": 20904,
          "problem_name": "Decorative Dominoes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "E",
          "problem_id": 20905,
          "problem_name": "Exhausting Errands",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "greedy",
            "prefix sum",
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "prefix_sum",
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "F",
          "problem_id": 20906,
          "problem_name": "Flip Flow",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "G",
          "problem_id": 20907,
          "problem_name": "Gravity Grid",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "disjoint set"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "H",
          "problem_id": 20908,
          "problem_name": "Hectic Harbour",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "implementation"
          ],
          "tag_keys": [
            "dp",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "I",
          "problem_id": 20909,
          "problem_name": "Impressive Integers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "J",
          "problem_id": 20910,
          "problem_name": "Jeopardised Journey",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "articulation points and bridges",
            "geometry",
            "graph theory",
            "sweeping"
          ],
          "tag_keys": [
            "articulation",
            "geometry",
            "graphs",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "K",
          "problem_id": 20911,
          "problem_name": "Knightly Knowledge",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "greedy"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "L",
          "problem_id": 20912,
          "problem_name": "Lexicographical Lecturing",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2427,
          "problem_letter": "M",
          "problem_id": 20913,
          "problem_name": "Mixtape Management",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2440,
      "contest_name": "ICPC North America Qualifier 2020",
      "contest_full_name": "ICPC North America Qualifier 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 2440,
          "problem_letter": "A",
          "problem_id": 11088,
          "problem_name": "Cantina of Babel",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 2440,
          "problem_letter": "B",
          "problem_id": 20989,
          "problem_name": "Drawing Circles",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2440,
          "problem_letter": "C",
          "problem_id": 10469,
          "problem_name": "사이 나쁜 여왕들",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2440,
          "problem_letter": "D",
          "problem_id": 10471,
          "problem_name": "공간을 만들어 봅시다",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2440,
          "problem_letter": "E",
          "problem_id": 20990,
          "problem_name": "Perfect Path Patrol",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2440,
          "problem_letter": "F",
          "problem_id": 11094,
          "problem_name": "꿍 가라사대",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2440,
          "problem_letter": "G",
          "problem_id": 20991,
          "problem_name": "Sky’s the Limit",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2440,
          "problem_letter": "H",
          "problem_id": 20992,
          "problem_name": "Using Digits",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2443,
      "contest_name": "INC 2020",
      "contest_full_name": "INC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2443,
          "problem_letter": "A",
          "problem_id": 21009,
          "problem_name": "Visible Trees",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "B",
          "problem_id": 21010,
          "problem_name": "Slow Down",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "C",
          "problem_id": 21011,
          "problem_name": "Instruction Anagram",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "divide and conquer",
            "fast fourier transform",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "divide_and_conquer",
            "fft",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "D",
          "problem_id": 21012,
          "problem_name": "Project Team",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "binary search",
            "prefix sum",
            "offline queries",
            "persistent segment tree",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "binary_search",
            "prefix_sum",
            "offline_queries",
            "pst",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "E",
          "problem_id": 21013,
          "problem_name": "Occult Square",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "F",
          "problem_id": 21014,
          "problem_name": "Special Substring",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "G",
          "problem_id": 21015,
          "problem_name": "Hallway and Butler",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "tree",
            "combinatorics",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "graph_traversal",
            "trees",
            "combinatorics",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "H",
          "problem_id": 21016,
          "problem_name": "Auction Market",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "I",
          "problem_id": 21017,
          "problem_name": "Forming Compounds",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bit set",
            "dynamic programming",
            "euclidean algorithm",
            "knapsack",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "bitset",
            "dp",
            "euclidean",
            "knapsack",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "J",
          "problem_id": 21018,
          "problem_name": "Power Link",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "data structures",
            "segment tree",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "segtree",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "K",
          "problem_id": 21019,
          "problem_name": "All Subsequences",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "segment tree",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "segtree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "L",
          "problem_id": 21020,
          "problem_name": "Combination Lock",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2443,
          "problem_letter": "M",
          "problem_id": 21021,
          "problem_name": "Prize Coupon",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2444,
      "contest_name": "INC 2019",
      "contest_full_name": "INC 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2444,
          "problem_letter": "A",
          "problem_id": 21022,
          "problem_name": "Three Points for a Win",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "B",
          "problem_id": 21023,
          "problem_name": "Door of the Ancient",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "C",
          "problem_id": 21024,
          "problem_name": "Jumping Stones",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "set / map by hashing",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "D",
          "problem_id": 21025,
          "problem_name": "Healthy Lifestyle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "articulation points and bridges",
            "biconnected component"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "articulation",
            "bcc"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "E",
          "problem_id": 21026,
          "problem_name": "Shortsighted",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "F",
          "problem_id": 21027,
          "problem_name": "Presidential Game",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "ad-hoc",
            "parity"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "G",
          "problem_id": 21028,
          "problem_name": "Goofy Golf",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2444,
          "problem_letter": "H",
          "problem_id": 21029,
          "problem_name": "Collecting Apples",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "I",
          "problem_id": 21030,
          "problem_name": "Frequent Alphabet",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "J",
          "problem_id": 21031,
          "problem_name": "Grid City",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "implementation",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "implementation",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "K",
          "problem_id": 21032,
          "problem_name": "Odd GCD Matching",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "L",
          "problem_id": 21033,
          "problem_name": "Sending Blessings",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "implementation",
            "lowest common ancestor",
            "segment tree",
            "sparse table",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "lca",
            "segtree",
            "sparse_table",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2444,
          "problem_letter": "M",
          "problem_id": 21034,
          "problem_name": "Go To Goal",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2445,
      "contest_name": "INC 2017",
      "contest_full_name": "INC 2017",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2445,
          "problem_letter": "A",
          "problem_id": 21035,
          "problem_name": "Simple Operations in Matrix",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "B",
          "problem_id": 21036,
          "problem_name": "Mini Market",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "C",
          "problem_id": 21037,
          "problem_name": "Polygonal Query",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "convex hull",
            "data structures",
            "geometry",
            "set / map by hashing",
            "point in convex polygon check",
            "segment tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "convex_hull",
            "data_structures",
            "geometry",
            "hash_set",
            "point_in_convex_polygon",
            "segtree",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "D",
          "problem_id": 21038,
          "problem_name": "Galatea’s Diet",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "exponentiation by squaring",
            "fermat's little theorem",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "exponentiation_by_squaring",
            "flt",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "E",
          "problem_id": 21039,
          "problem_name": "Flip and Combos",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "F",
          "problem_id": 21040,
          "problem_name": "Maximum Subset",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "sorting",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "sorting",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "G",
          "problem_id": 21041,
          "problem_name": "Largest Exotic Number",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "sweeping"
          ],
          "tag_keys": [
            "bruteforcing",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "H",
          "problem_id": 21042,
          "problem_name": "Triangle of Safety",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "bruteforcing",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "I",
          "problem_id": 21043,
          "problem_name": "Domino Line",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "J",
          "problem_id": 21044,
          "problem_name": "Inverse Common Superstring",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "K",
          "problem_id": 21045,
          "problem_name": "Adding Numbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "case work",
            "dynamic programming",
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "case_work",
            "dp",
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2445,
          "problem_letter": "L",
          "problem_id": 21046,
          "problem_name": "Pretty Table",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2447,
      "contest_name": "NCPC 2020",
      "contest_full_name": "NCPC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2447,
          "problem_letter": "A",
          "problem_id": 21047,
          "problem_name": "Array of Discord",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "constructive"
          ],
          "tag_keys": [
            "bruteforcing",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "B",
          "problem_id": 21048,
          "problem_name": "Big Brother",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "area of a polygon",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "C",
          "problem_id": 21049,
          "problem_name": "Coin Stacks",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "D",
          "problem_id": 21050,
          "problem_name": "Dams in Distress",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "E",
          "problem_id": 21051,
          "problem_name": "Exhaustive Experiment",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "sweeping",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "sweeping",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "F",
          "problem_id": 21052,
          "problem_name": "Film Critics",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "G",
          "problem_id": 21053,
          "problem_name": "Gig Combinatorics",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "H",
          "problem_id": 21054,
          "problem_name": "Hiring and Firing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bipartite graph",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bipartite_graph",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "I",
          "problem_id": 21055,
          "problem_name": "Infection Estimation",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "probability theory",
            "simulated annealing",
            "bayes theorem"
          ],
          "tag_keys": [
            "math",
            "probability",
            "simulated_annealing",
            "bayes"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "simulated_annealing",
              "name": "simulated annealing",
              "boj_tag_id": 184
            },
            {
              "key": "bayes",
              "name": "bayes theorem",
              "boj_tag_id": 114
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "J",
          "problem_id": 21056,
          "problem_name": "Joining Flows",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "K",
          "problem_id": 21057,
          "problem_name": "Keep Calm And Carry Off",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "greedy",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "L",
          "problem_id": 21058,
          "problem_name": "Language Survey",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "case work",
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2447,
          "problem_letter": "M",
          "problem_id": 21059,
          "problem_name": "Methodic Multiplication",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2455,
      "contest_name": "2020 Southeast USA Regional Programming Contest",
      "contest_full_name": "2020 Southeast USA Regional Programming Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 2455,
          "problem_letter": "A",
          "problem_id": 21134,
          "problem_name": "Ant Typing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "B",
          "problem_id": 21135,
          "problem_name": "Bad Packing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "prefix sum",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "prefix_sum",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "C",
          "problem_id": 21136,
          "problem_name": "Bitonic Ordering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "D",
          "problem_id": 21137,
          "problem_name": "Condorcet",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bruteforcing",
            "graph theory",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "E",
          "problem_id": 21138,
          "problem_name": "Dominating Duos",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "F",
          "problem_id": 21139,
          "problem_name": "Exam Manipulation",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "G",
          "problem_id": 21140,
          "problem_name": "Exciting Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "H",
          "problem_id": 21141,
          "problem_name": "Kth Subtree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "I",
          "problem_id": 21142,
          "problem_name": "Longest Common Subsequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "J",
          "problem_id": 21143,
          "problem_name": "Magic Trick",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "K",
          "problem_id": 21144,
          "problem_name": "Missing Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "L",
          "problem_id": 21145,
          "problem_name": "Rainbow Numbers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "M",
          "problem_id": 21146,
          "problem_name": "Rating Problems",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "N",
          "problem_id": 21147,
          "problem_name": "Triangular Collection",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "O",
          "problem_id": 21148,
          "problem_name": "TripTik",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "segment tree",
            "binary search",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "segtree",
            "binary_search",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2455,
          "problem_letter": "P",
          "problem_id": 21149,
          "problem_name": "Unread Messages",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2456,
      "contest_name": "2020 East Central Regional Contest",
      "contest_full_name": "2020 East Central Regional Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2456,
          "problem_letter": "A",
          "problem_id": 21150,
          "problem_name": "All in the Family",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "case work",
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "implementation",
            "lowest common ancestor",
            "tree",
            "set / map"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "graphs",
            "graph_traversal",
            "hash_set",
            "implementation",
            "lca",
            "trees",
            "set"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "B",
          "problem_id": 21151,
          "problem_name": "Kinky Word Searches",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "C",
          "problem_id": 21152,
          "problem_name": "Math Trade",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "graphs",
            "graph_traversal",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "D",
          "problem_id": 21153,
          "problem_name": "Oreperations Research",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "E",
          "problem_id": 21154,
          "problem_name": "Over the Hill, Part 1",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "F",
          "problem_id": 21155,
          "problem_name": "Over the Hill, Part 2",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "G",
          "problem_id": 21156,
          "problem_name": "A Rank Problem",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "H",
          "problem_id": 21157,
          "problem_name": "Restroom Monitor",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "I",
          "problem_id": 21158,
          "problem_name": "Scholar's Lawn",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dijkstra's",
            "geometry",
            "graph theory",
            "line segment intersection check",
            "sorting",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "geometry",
            "graphs",
            "line_intersection",
            "sorting",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "J",
          "problem_id": 21159,
          "problem_name": "Simply Sudoku",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2456,
          "problem_letter": "K",
          "problem_id": 21160,
          "problem_name": "Weighty Tomes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2456,
          "problem_letter": "L",
          "problem_id": 21161,
          "problem_name": "Workers of the World Unite! Just Not Too Close.",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2457,
      "contest_name": "NCNA 2020",
      "contest_full_name": "NCNA 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2457,
          "problem_letter": "A",
          "problem_id": 21163,
          "problem_name": "LogDB",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "B",
          "problem_id": 21164,
          "problem_name": "Ride-Hailing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching",
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bipartite_matching",
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "C",
          "problem_id": 21165,
          "problem_name": "Redundant Binary Notation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "D",
          "problem_id": 21166,
          "problem_name": "Substring Characters",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "E",
          "problem_id": 21167,
          "problem_name": "Curve Speed",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "F",
          "problem_id": 21168,
          "problem_name": "Agamemnon's Odyssey",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "G",
          "problem_id": 21169,
          "problem_name": "Safest Taxi",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2457,
          "problem_letter": "H",
          "problem_id": 21170,
          "problem_name": "Digital Speedometer",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "case work",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "I",
          "problem_id": 21171,
          "problem_name": "Staggering to the Finish",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2457,
          "problem_letter": "J",
          "problem_id": 21172,
          "problem_name": "Ada Loveslaces",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2457,
          "problem_letter": "K",
          "problem_id": 21173,
          "problem_name": "ICPC Record Matching",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2457,
          "problem_letter": "L",
          "problem_id": 21174,
          "problem_name": "Codenames",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming using bitfield",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_bitfield",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2458,
      "contest_name": "2020 Southern California Regional",
      "contest_full_name": "2020 Southern California Regional",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > Southern California Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2458,
          "problem_letter": "1",
          "problem_id": 21173,
          "problem_name": "ICPC Record Matching",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "2",
          "problem_id": 21164,
          "problem_name": "Ride-Hailing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bipartite matching",
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bipartite_matching",
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "3",
          "problem_id": 21167,
          "problem_name": "Curve Speed",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "4",
          "problem_id": 21163,
          "problem_name": "LogDB",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "5",
          "problem_id": 21170,
          "problem_name": "Digital Speedometer",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "case work",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "6",
          "problem_id": 21172,
          "problem_name": "Ada Loveslaces",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2458,
          "problem_letter": "7",
          "problem_id": 21174,
          "problem_name": "Codenames",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming using bitfield",
            "mathematics",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_bitfield",
            "math",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "8",
          "problem_id": 21166,
          "problem_name": "Substring Characters",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "9",
          "problem_id": 21165,
          "problem_name": "Redundant Binary Notation",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 2458,
          "problem_letter": "10",
          "problem_id": 21171,
          "problem_name": "Staggering to the Finish",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2458,
          "problem_letter": "11",
          "problem_id": 21169,
          "problem_name": "Safest Taxi",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2459,
      "contest_name": "2020 Mid-Central Regional Programming Contest",
      "contest_full_name": "2020 Mid-Central Regional Programming Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 2459,
          "problem_letter": "A",
          "problem_id": 21134,
          "problem_name": "Ant Typing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "B",
          "problem_id": 21139,
          "problem_name": "Exam Manipulation",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "C",
          "problem_id": 21137,
          "problem_name": "Condorcet",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bruteforcing",
            "graph theory",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "D",
          "problem_id": 21145,
          "problem_name": "Rainbow Numbers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "E",
          "problem_id": 21175,
          "problem_name": "Painted Corridors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "case work",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "case_work",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "F",
          "problem_id": 21146,
          "problem_name": "Rating Problems",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "G",
          "problem_id": 21140,
          "problem_name": "Exciting Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "H",
          "problem_id": 21147,
          "problem_name": "Triangular Collection",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "I",
          "problem_id": 21148,
          "problem_name": "TripTik",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "segment tree",
            "binary search",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "segtree",
            "binary_search",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "J",
          "problem_id": 21135,
          "problem_name": "Bad Packing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "prefix sum",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "prefix_sum",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "K",
          "problem_id": 21144,
          "problem_name": "Missing Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "L",
          "problem_id": 21142,
          "problem_name": "Longest Common Subsequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "M",
          "problem_id": 21149,
          "problem_name": "Unread Messages",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "N",
          "problem_id": 21136,
          "problem_name": "Bitonic Ordering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2459,
          "problem_letter": "O",
          "problem_id": 21176,
          "problem_name": "Smoothie Stand",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2460,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2020 ICPC Pacific Northwest Region",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 2460,
          "problem_letter": "A",
          "problem_id": 21177,
          "problem_name": "No Thanks!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "B",
          "problem_id": 21139,
          "problem_name": "Exam Manipulation",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "C",
          "problem_id": 21175,
          "problem_name": "Painted Corridors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "case work",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "case_work",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "D",
          "problem_id": 21178,
          "problem_name": "Basic Basis",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "arbitrary precision / big integers",
            "bitmask",
            "greedy",
            "implementation",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "bitmask",
            "greedy",
            "implementation",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "E",
          "problem_id": 21136,
          "problem_name": "Bitonic Ordering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "F",
          "problem_id": 21179,
          "problem_name": "Derangement Rotations",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "G",
          "problem_id": 21134,
          "problem_name": "Ant Typing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "H",
          "problem_id": 21138,
          "problem_name": "Dominating Duos",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "I",
          "problem_id": 21148,
          "problem_name": "TripTik",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "segment tree",
            "binary search",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "segtree",
            "binary_search",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "J",
          "problem_id": 21142,
          "problem_name": "Longest Common Subsequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "K",
          "problem_id": 21137,
          "problem_name": "Condorcet",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bruteforcing",
            "graph theory",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "L",
          "problem_id": 21141,
          "problem_name": "Kth Subtree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "M",
          "problem_id": 21135,
          "problem_name": "Bad Packing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "prefix sum",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "prefix_sum",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "N",
          "problem_id": 21140,
          "problem_name": "Exciting Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "O",
          "problem_id": 21145,
          "problem_name": "Rainbow Numbers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "P",
          "problem_id": 21180,
          "problem_name": "Reconstruct Sum",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2460,
          "problem_letter": "Q",
          "problem_id": 21147,
          "problem_name": "Triangular Collection",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2461,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2020 ICPC Pacific Northwest Region",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 2461,
          "problem_letter": "R",
          "problem_id": 21177,
          "problem_name": "No Thanks!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "S",
          "problem_id": 21139,
          "problem_name": "Exam Manipulation",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "T",
          "problem_id": 21175,
          "problem_name": "Painted Corridors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "case work",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "case_work",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "U",
          "problem_id": 21178,
          "problem_name": "Basic Basis",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "arbitrary precision / big integers",
            "bitmask",
            "greedy",
            "implementation",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "bitmask",
            "greedy",
            "implementation",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "V",
          "problem_id": 21136,
          "problem_name": "Bitonic Ordering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "W",
          "problem_id": 21179,
          "problem_name": "Derangement Rotations",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "X",
          "problem_id": 21134,
          "problem_name": "Ant Typing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "Y",
          "problem_id": 21138,
          "problem_name": "Dominating Duos",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "Z",
          "problem_id": 21144,
          "problem_name": "Missing Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AA",
          "problem_id": 21142,
          "problem_name": "Longest Common Subsequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AB",
          "problem_id": 21146,
          "problem_name": "Rating Problems",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AC",
          "problem_id": 21143,
          "problem_name": "Magic Trick",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AD",
          "problem_id": 21135,
          "problem_name": "Bad Packing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "prefix sum",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "prefix_sum",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AE",
          "problem_id": 21181,
          "problem_name": "Kangaroo Party",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AF",
          "problem_id": 21145,
          "problem_name": "Rainbow Numbers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AG",
          "problem_id": 21180,
          "problem_name": "Reconstruct Sum",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2461,
          "problem_letter": "AH",
          "problem_id": 21147,
          "problem_name": "Triangular Collection",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2462,
      "contest_name": "2020 Mid-Atlantic USA Regional Contest",
      "contest_full_name": "2020 Mid-Atlantic USA Regional Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 2462,
          "problem_letter": "A",
          "problem_id": 21146,
          "problem_name": "Rating Problems",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "B",
          "problem_id": 21149,
          "problem_name": "Unread Messages",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "C",
          "problem_id": 21134,
          "problem_name": "Ant Typing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "D",
          "problem_id": 21138,
          "problem_name": "Dominating Duos",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "E",
          "problem_id": 21140,
          "problem_name": "Exciting Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "F",
          "problem_id": 21135,
          "problem_name": "Bad Packing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "prefix sum",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "prefix_sum",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "G",
          "problem_id": 21175,
          "problem_name": "Painted Corridors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "case work",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "case_work",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "H",
          "problem_id": 21148,
          "problem_name": "TripTik",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "segment tree",
            "binary search",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "segtree",
            "binary_search",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "I",
          "problem_id": 21136,
          "problem_name": "Bitonic Ordering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "J",
          "problem_id": 21178,
          "problem_name": "Basic Basis",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "arbitrary precision / big integers",
            "bitmask",
            "greedy",
            "implementation",
            "linear algebra",
            "mathematics"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "bitmask",
            "greedy",
            "implementation",
            "linear_algebra",
            "math"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "K",
          "problem_id": 21141,
          "problem_name": "Kth Subtree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "L",
          "problem_id": 21142,
          "problem_name": "Longest Common Subsequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "M",
          "problem_id": 21144,
          "problem_name": "Missing Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2462,
          "problem_letter": "N",
          "problem_id": 21177,
          "problem_name": "No Thanks!",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2463,
      "contest_name": "2020 South Central USA Regional Contest",
      "contest_full_name": "2020 South Central USA Regional Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 2463,
          "problem_letter": "A",
          "problem_id": 21134,
          "problem_name": "Ant Typing",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "B",
          "problem_id": 21135,
          "problem_name": "Bad Packing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "sorting",
            "prefix sum",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "prefix_sum",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "C",
          "problem_id": 21136,
          "problem_name": "Bitonic Ordering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "D",
          "problem_id": 21137,
          "problem_name": "Condorcet",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bruteforcing",
            "graph theory",
            "mathematics",
            "parametric search"
          ],
          "tag_keys": [
            "bruteforcing",
            "graphs",
            "math",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "E",
          "problem_id": 21138,
          "problem_name": "Dominating Duos",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "F",
          "problem_id": 21139,
          "problem_name": "Exam Manipulation",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "G",
          "problem_id": 21140,
          "problem_name": "Exciting Tournament",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "minimum cost maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mcmf",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "H",
          "problem_id": 21141,
          "problem_name": "Kth Subtree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "I",
          "problem_id": 21142,
          "problem_name": "Longest Common Subsequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "J",
          "problem_id": 21143,
          "problem_name": "Magic Trick",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "K",
          "problem_id": 21144,
          "problem_name": "Missing Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "L",
          "problem_id": 21145,
          "problem_name": "Rainbow Numbers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "M",
          "problem_id": 21146,
          "problem_name": "Rating Problems",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "N",
          "problem_id": 21147,
          "problem_name": "Triangular Collection",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "O",
          "problem_id": 21148,
          "problem_name": "TripTik",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "segment tree",
            "binary search",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "segtree",
            "binary_search",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2463,
          "problem_letter": "P",
          "problem_id": 21149,
          "problem_name": "Unread Messages",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2464,
      "contest_name": "NCNA 2019",
      "contest_full_name": "NCNA 2019",
      "contest_year": 2019,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2464,
          "problem_letter": "A",
          "problem_id": 21182,
          "problem_name": "Weird Flecks, But OK",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "heuristics",
            "minimum enclosing circle"
          ],
          "tag_keys": [
            "geometry",
            "heuristics",
            "min_enclosing_circle"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "B",
          "problem_id": 21183,
          "problem_name": "Code Names",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "parity"
          ],
          "tag_keys": [
            "bipartite_matching",
            "parity"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "C",
          "problem_id": 21184,
          "problem_name": "New Maths",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "D",
          "problem_id": 21185,
          "problem_name": "Some Sum",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "E",
          "problem_id": 21186,
          "problem_name": "Early Orders",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "set / map by trees",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "tree_set",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "F",
          "problem_id": 21187,
          "problem_name": "Pulling Their Weight",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "sorting",
            "binary search",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting",
            "binary_search",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "G",
          "problem_id": 21188,
          "problem_name": "Birthday Paradox",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "H",
          "problem_id": 21189,
          "problem_name": "On Average They're Purple",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "I",
          "problem_id": 21190,
          "problem_name": "Full Depth Morning Show",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2464,
          "problem_letter": "J",
          "problem_id": 21191,
          "problem_name": "This Ain't Your Grandpa's Checkerboard",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2464,
          "problem_letter": "K",
          "problem_id": 21192,
          "problem_name": "Solar Energy",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2465,
      "contest_name": "SWERC 2020-2021",
      "contest_full_name": "SWERC 2020-2021",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 2465,
          "problem_letter": "A",
          "problem_id": 21208,
          "problem_name": "Gratitude",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "B",
          "problem_id": 21209,
          "problem_name": "Rule 110",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2465,
          "problem_letter": "C",
          "problem_id": 21210,
          "problem_name": "Safe Distance",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "geometry",
            "binary search",
            "disjoint set",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "geometry",
            "binary_search",
            "disjoint_set",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "D",
          "problem_id": 21211,
          "problem_name": "Jogging",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "ad_hoc",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "E",
          "problem_id": 21212,
          "problem_name": "Cakes",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "F",
          "problem_id": 21213,
          "problem_name": "Mentors",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "G",
          "problem_id": 21214,
          "problem_name": "Decoration",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "graph theory",
            "data structures",
            "number theory",
            "sparse table",
            "functional graph"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "data_structures",
            "number_theory",
            "sparse_table",
            "functional_graph"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "H",
          "problem_id": 21215,
          "problem_name": "Figurines",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "merge sort tree",
            "persistent segment tree",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "merge_sort_tree",
            "pst",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "I",
          "problem_id": 21216,
          "problem_name": "Emails",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "J",
          "problem_id": 21217,
          "problem_name": "Daisy’s Mazes",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "K",
          "problem_id": 21218,
          "problem_name": "Unique Activities",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "binary search",
            "parametric search",
            "hashing",
            "suffix array and lcp array",
            "rabin–karp"
          ],
          "tag_keys": [
            "string",
            "binary_search",
            "parametric_search",
            "hashing",
            "suffix_array",
            "rabin_karp"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "L",
          "problem_id": 21219,
          "problem_name": "Restaurants",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "greedy",
            "stable marriage problem"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stable_marriage"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stable_marriage",
              "name": "stable marriage problem",
              "boj_tag_id": 192
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "M",
          "problem_id": 21220,
          "problem_name": "Fantasmagorie",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2465,
          "problem_letter": "PA",
          "problem_id": 21193,
          "problem_name": "Magic Scale",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "sorting",
            "priority queue",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "priority_queue",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "PB",
          "problem_id": 21194,
          "problem_name": "Meditation",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "PC",
          "problem_id": 21195,
          "problem_name": "Rounds",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "data structures",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2465,
          "problem_letter": "PD",
          "problem_id": 21196,
          "problem_name": "Statues",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2466,
      "contest_name": "2020 Rocky Mountain Regional Contest",
      "contest_full_name": "2020 Rocky Mountain Regional Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2466,
          "problem_letter": "A",
          "problem_id": 21197,
          "problem_name": "Stopwatch",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "B",
          "problem_id": 21198,
          "problem_name": "Arithmetic Decoding",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "C",
          "problem_id": 21199,
          "problem_name": "Paper Snowflakes",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "sorting",
            "binary search",
            "prefix sum",
            "sweeping",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "binary_search",
            "prefix_sum",
            "sweeping",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "D",
          "problem_id": 21200,
          "problem_name": "Forced Choice",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "E",
          "problem_id": 21201,
          "problem_name": "Interview Queue",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "linked list"
          ],
          "tag_keys": [
            "data_structures",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "F",
          "problem_id": 21202,
          "problem_name": "Conquest",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "G",
          "problem_id": 21203,
          "problem_name": "Distance",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "H",
          "problem_id": 21204,
          "problem_name": "Antimatter Rain",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "stack",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "stack",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "I",
          "problem_id": 21205,
          "problem_name": "Vaccine Efficacy",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "J",
          "problem_id": 21206,
          "problem_name": "Pegs and Legs",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2466,
          "problem_letter": "K",
          "problem_id": 21207,
          "problem_name": "Train Boarding",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2484,
      "contest_name": "2020 Greater New York Programming Contest",
      "contest_full_name": "2020 Greater New York Programming Contest",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2484,
          "problem_letter": "A",
          "problem_id": 21300,
          "problem_name": "Bottle Return",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "B",
          "problem_id": 21301,
          "problem_name": "Comfy Deviations",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "C",
          "problem_id": 21302,
          "problem_name": "Arthur's Table",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2484,
          "problem_letter": "D",
          "problem_id": 21303,
          "problem_name": "Magic Drone",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2484,
          "problem_letter": "E",
          "problem_id": 21304,
          "problem_name": "Marbles",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "F",
          "problem_id": 21305,
          "problem_name": "Chocolate Bar Game",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "game theory",
            "mathematics",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "game_theory",
            "math",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "G",
          "problem_id": 21306,
          "problem_name": "Three Triangles",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "H",
          "problem_id": 21307,
          "problem_name": "ICPC Standings",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "I",
          "problem_id": 21308,
          "problem_name": "Ternary Machine",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "implementation",
            "parsing",
            "simulation",
            "stack",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "parsing",
            "simulation",
            "stack",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "J",
          "problem_id": 21309,
          "problem_name": "Cardinal Adjacencies",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "K",
          "problem_id": 21310,
          "problem_name": "Stern’s Sequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 2484,
          "problem_letter": "L",
          "problem_id": 21311,
          "problem_name": "Evenly Separated Strings",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2488,
      "contest_name": "NWERC 2020",
      "contest_full_name": "NWERC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 2488,
          "problem_letter": "A",
          "problem_id": 21337,
          "problem_name": "Atomic Energy",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "B",
          "problem_id": 21338,
          "problem_name": "Bulldozer",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "dynamic programming",
            "graph theory",
            "data structures",
            "greedy",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "stack"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "data_structures",
            "greedy",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "stack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "C",
          "problem_id": 21339,
          "problem_name": "Contest Struggles",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "D",
          "problem_id": 21340,
          "problem_name": "Dragon Balls",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "geometry",
            "randomization",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "randomization",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "E",
          "problem_id": 21341,
          "problem_name": "Endgame",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "meet in the middle",
            "randomization"
          ],
          "tag_keys": [
            "mitm",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "F",
          "problem_id": 21342,
          "problem_name": "Flight Collision",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "set / map",
            "priority queue",
            "set / map by trees",
            "linked list"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "priority_queue",
            "tree_set",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "G",
          "problem_id": 21343,
          "problem_name": "Great Expectations",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "dynamic programming",
            "mathematics",
            "parametric search",
            "probability theory"
          ],
          "tag_keys": [
            "binary_search",
            "dp",
            "math",
            "parametric_search",
            "probability"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "H",
          "problem_id": 21344,
          "problem_name": "Hot Springs",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "I",
          "problem_id": 21345,
          "problem_name": "Island Tour",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "J",
          "problem_id": 21346,
          "problem_name": "Joint Excavation",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "K",
          "problem_id": 21347,
          "problem_name": "Keyboardd",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "PA",
          "problem_id": 21335,
          "problem_name": "Another Eruption",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "PB",
          "problem_id": 15611,
          "problem_name": "Broken Gearbox",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2488,
          "problem_letter": "PC",
          "problem_id": 21336,
          "problem_name": "Cheating",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2496,
      "contest_name": "BAPC 2007",
      "contest_full_name": "BAPC 2007",
      "contest_year": 2007,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2496,
          "problem_letter": "A",
          "problem_id": 21384,
          "problem_name": "Average distance",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "tree",
            "combinatorics",
            "depth-first search",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "trees",
            "combinatorics",
            "dfs",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "B",
          "problem_id": 21385,
          "problem_name": "Bus Pass",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "breadth-first search",
            "bruteforcing",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bruteforcing",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "C",
          "problem_id": 21386,
          "problem_name": "Cutting Banknotes",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "D",
          "problem_id": 21387,
          "problem_name": "Dice Password Security",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "E",
          "problem_id": 21388,
          "problem_name": "Lingo",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "dynamic programming"
          ],
          "tag_keys": [
            "bitmask",
            "dp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "F",
          "problem_id": 21389,
          "problem_name": "Splitting the Loot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "binary search",
            "data structures",
            "greedy",
            "mathematics",
            "priority queue"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "greedy",
            "math",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "G",
          "problem_id": 21390,
          "problem_name": "Pachinko",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "simulation",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "simulation",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "H",
          "problem_id": 21391,
          "problem_name": "Hiking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "mathematics",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "math",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "I",
          "problem_id": 21392,
          "problem_name": "Ranking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "data structures",
            "implementation",
            "sorting",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "implementation",
            "sorting",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2496,
          "problem_letter": "J",
          "problem_id": 21393,
          "problem_name": "Stock",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "ad-hoc",
            "priority queue"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "ad_hoc",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2517,
      "contest_name": "2021 ICPC North America Division Championships",
      "contest_full_name": "2021 ICPC North America Division Championships",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > North America Division Championships",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2517,
          "problem_letter": "A",
          "problem_id": 21585,
          "problem_name": "Alien Microwave",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "B",
          "problem_id": 21586,
          "problem_name": "Another Substring Query Problem",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "merge sort tree",
            "segment tree",
            "sorting",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "merge_sort_tree",
            "segtree",
            "sorting",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "C",
          "problem_id": 21587,
          "problem_name": "Borders",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "D",
          "problem_id": 21588,
          "problem_name": "Circle of Friends",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "E",
          "problem_id": 21589,
          "problem_name": "Finding Polly",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2517,
          "problem_letter": "F",
          "problem_id": 21590,
          "problem_name": "Investigating Imposters",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "G",
          "problem_id": 21591,
          "problem_name": "Laptop Sticker",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "H",
          "problem_id": 21592,
          "problem_name": "Longest Common Substring",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "I",
          "problem_id": 21593,
          "problem_name": "Simple Cron Spec",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "parsing",
            "string"
          ],
          "tag_keys": [
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "J",
          "problem_id": 21594,
          "problem_name": "Surveillance",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "calculus",
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2517,
          "problem_letter": "K",
          "problem_id": 21595,
          "problem_name": "Train Line",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2517,
          "problem_letter": "L",
          "problem_id": 21596,
          "problem_name": "Window Shopping",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2517,
          "problem_letter": "M",
          "problem_id": 21597,
          "problem_name": "You Be the Judge!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "case work",
            "parsing",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "case_work",
            "parsing",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2566,
      "contest_name": "SEERC 2020",
      "contest_full_name": "SEERC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2566,
          "problem_letter": "A",
          "problem_id": 21905,
          "problem_name": "Archeologists",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "prefix sum",
            "priority queue",
            "slope trick"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "prefix_sum",
            "priority_queue",
            "slope_trick"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "slope_trick",
              "name": "slope trick",
              "boj_tag_id": 157
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "B",
          "problem_id": 21906,
          "problem_name": "Reverse Game",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "C",
          "problem_id": 21907,
          "problem_name": "3-colorings",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "constructive",
            "graph theory"
          ],
          "tag_keys": [
            "constructive",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "D",
          "problem_id": 21908,
          "problem_name": "Disk Sort",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "E",
          "problem_id": 21909,
          "problem_name": "Divisible by 3",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "F",
          "problem_id": 21910,
          "problem_name": "Fence Job",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "G",
          "problem_id": 21911,
          "problem_name": "Simple Hull",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2566,
          "problem_letter": "H",
          "problem_id": 21912,
          "problem_name": "AND = OR",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "case work",
            "bitmask"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "case_work",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "I",
          "problem_id": 21913,
          "problem_name": "Modulo Permutations",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "J",
          "problem_id": 21914,
          "problem_name": "One Piece",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "graph theory",
            "data structures",
            "graph traversal",
            "tree",
            "segment tree",
            "depth-first search",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "data_structures",
            "graph_traversal",
            "trees",
            "segtree",
            "dfs",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "K",
          "problem_id": 21915,
          "problem_name": "Codenames",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bitmask"
          ],
          "tag_keys": [
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "L",
          "problem_id": 21916,
          "problem_name": "Neo-Robin Hood",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "binary search",
            "priority queue",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "binary_search",
            "priority_queue",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2566,
          "problem_letter": "M",
          "problem_id": 21917,
          "problem_name": "Mistake",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "directed acyclic graph",
            "graph theory",
            "greedy",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "graphs",
            "greedy",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2567,
      "contest_name": "ICPC 2020 Asia Yokohama Regional",
      "contest_full_name": "ICPC 2020 Asia Yokohama Regional",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2567,
          "problem_letter": "A",
          "problem_id": 21926,
          "problem_name": "Three-Axis Views",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "B",
          "problem_id": 21927,
          "problem_name": "Secrets of Legendary Treasure",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "greedy",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "C",
          "problem_id": 21928,
          "problem_name": "Short Coding",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "constructive",
            "simulation",
            "depth-first search",
            "backtracking"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "constructive",
            "simulation",
            "dfs",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "D",
          "problem_id": 21929,
          "problem_name": "Colorful Rectangle",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "sweeping",
            "divide and conquer",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "sweeping",
            "divide_and_conquer",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "E",
          "problem_id": 21930,
          "problem_name": "Jewelry Size",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "F",
          "problem_id": 21931,
          "problem_name": "Solar Car",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "G",
          "problem_id": 21932,
          "problem_name": "To be Connected, or not to be, that is the Question",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "H",
          "problem_id": 21933,
          "problem_name": "LCM of GCDs",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "I",
          "problem_id": 21934,
          "problem_name": "High-Tech Detective",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "J",
          "problem_id": 21935,
          "problem_name": "Formica Sokobanica",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2567,
          "problem_letter": "K",
          "problem_id": 21936,
          "problem_name": "Suffixes may Contain Prefixes",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "string",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "dp",
            "string",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2575,
      "contest_name": "Northern Eurasia Finals 2020 (Offline)",
      "contest_full_name": "Northern Eurasia Finals 2020 (Offline)",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2575,
          "problem_letter": "A",
          "problem_id": 21985,
          "problem_name": "ASCII Automata Art",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "parsing",
            "recursion",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "recursion",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "B",
          "problem_id": 21986,
          "problem_name": "Button Lock",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bipartite matching",
            "maximum flow",
            "graph theory",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "bipartite_matching",
            "flow",
            "graphs",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "C",
          "problem_id": 21987,
          "problem_name": "Cactus Not Enough",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "graph theory",
            "tree",
            "dynamic programming on trees",
            "articulation points and bridges",
            "cactus"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "trees",
            "dp_tree",
            "articulation",
            "cactus"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "D",
          "problem_id": 21988,
          "problem_name": "Digits",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "number theory",
            "knapsack",
            "traceback"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "number_theory",
            "knapsack",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "E",
          "problem_id": 21989,
          "problem_name": "Equilibrium Point /\\/\\",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "geometry",
            "meet in the middle"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "F",
          "problem_id": 21990,
          "problem_name": "Fiber Shape",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2575,
          "problem_letter": "G",
          "problem_id": 21991,
          "problem_name": "Guide",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "H",
          "problem_id": 21992,
          "problem_name": "Hard Optimization",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2575,
          "problem_letter": "I",
          "problem_id": 21993,
          "problem_name": "Is It Rated?",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "randomization",
            "heuristics",
            "statistics"
          ],
          "tag_keys": [
            "math",
            "randomization",
            "heuristics",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "J",
          "problem_id": 21994,
          "problem_name": "Japanese Game",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2575,
          "problem_letter": "K",
          "problem_id": 21995,
          "problem_name": "King’s Task",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2611,
      "contest_name": "Latin America Regional Contests 2020",
      "contest_full_name": "Latin America Regional Contests 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 2611,
          "problem_letter": "A",
          "problem_id": 22264,
          "problem_name": "Almost Origami",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "constructive",
            "backtracking",
            "precomputation"
          ],
          "tag_keys": [
            "constructive",
            "backtracking",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "B",
          "problem_id": 22265,
          "problem_name": "Beautiful Mountains",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "harmonic number"
          ],
          "tag_keys": [
            "data_structures",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "C",
          "problem_id": 22266,
          "problem_name": "Crisis at the Wedding",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "D",
          "problem_id": 22267,
          "problem_name": "Dividing Candy",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "E",
          "problem_id": 22268,
          "problem_name": "Excellent Views",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "sorting",
            "set / map",
            "prefix sum",
            "set / map by trees",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "set",
            "prefix_sum",
            "tree_set",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "F",
          "problem_id": 22269,
          "problem_name": "Fascinating Partitions",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "G",
          "problem_id": 22270,
          "problem_name": "Game of Slots",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "H",
          "problem_id": 22271,
          "problem_name": "Halting Wolf",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "I",
          "problem_id": 22272,
          "problem_name": "Impenetrable Wall",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull",
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "J",
          "problem_id": 22273,
          "problem_name": "Job Allocator",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "K",
          "problem_id": 22274,
          "problem_name": "Keylogger",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "binary search",
            "prefix sum",
            "difference array"
          ],
          "tag_keys": [
            "dp",
            "binary_search",
            "prefix_sum",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "L",
          "problem_id": 22275,
          "problem_name": "Lola’s Schedule",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "M",
          "problem_id": 22276,
          "problem_name": "May I Add a Letter?",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "case work",
            "data structures",
            "offline queries",
            "sparse table",
            "string",
            "suffix array and lcp array",
            "tree",
            "set / map by trees",
            "trie",
            "set / map"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "offline_queries",
            "sparse_table",
            "string",
            "suffix_array",
            "trees",
            "tree_set",
            "trie",
            "set"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2611,
          "problem_letter": "N",
          "problem_id": 22277,
          "problem_name": "Non-Integer Donuts",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2613,
      "contest_name": "2018 Rocky Mountain Regional Contest",
      "contest_full_name": "2018 Rocky Mountain Regional Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2613,
          "problem_letter": "A",
          "problem_id": 22279,
          "problem_name": "Quality-Adjusted Life-Year",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "B",
          "problem_id": 22280,
          "problem_name": "Gwen's Gift",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "prefix sum",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "prefix_sum",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "C",
          "problem_id": 22281,
          "problem_name": "Forest for the Trees",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "D",
          "problem_id": 22282,
          "problem_name": "H-Index",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "E",
          "problem_id": 22283,
          "problem_name": "Driving Lanes",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "F",
          "problem_id": 22284,
          "problem_name": "Treasure Spotting",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "G",
          "problem_id": 22285,
          "problem_name": "Neighborhood Watch",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "H",
          "problem_id": 22286,
          "problem_name": "Small Schedule",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "I",
          "problem_id": 22287,
          "problem_name": "Mr. Plow King",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "greedy",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 2613,
          "problem_letter": "J",
          "problem_id": 22288,
          "problem_name": "Rainbow Road Race",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "bitmask",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "bitmask",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2616,
      "contest_name": "2014 South Central USA Regional Programming Contest",
      "contest_full_name": "2014 South Central USA Regional Programming Contest",
      "contest_year": 2014,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 2616,
          "problem_letter": "1",
          "problem_id": 22297,
          "problem_name": "Map Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2616,
          "problem_letter": "2",
          "problem_id": 22298,
          "problem_name": "Ancient Numerals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2616,
          "problem_letter": "3",
          "problem_id": 22299,
          "problem_name": "Cipher",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2616,
          "problem_letter": "4",
          "problem_id": 22300,
          "problem_name": "Runners",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2616,
          "problem_letter": "5",
          "problem_id": 22301,
          "problem_name": "Palindrome Numbers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "string",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2616,
          "problem_letter": "6",
          "problem_id": 22302,
          "problem_name": "Factorial Factors",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 2616,
          "problem_letter": "7",
          "problem_id": 22303,
          "problem_name": "Chuck's Challenge",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2616,
          "problem_letter": "8",
          "problem_id": 22304,
          "problem_name": "Optic Communications",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2616,
          "problem_letter": "9",
          "problem_id": 22305,
          "problem_name": "Resources",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2705,
      "contest_name": "CERC 2005",
      "contest_full_name": "CERC 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2705,
          "problem_letter": "G",
          "problem_id": 22756,
          "problem_name": "Widget Factory",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2707,
      "contest_name": "2006 ACM South Pacific Programming Contest",
      "contest_full_name": "2006 ACM South Pacific Programming Contest",
      "contest_year": 2006,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 2,
      "problems": [
        {
          "contest_id": 2707,
          "problem_letter": "D",
          "problem_id": 22759,
          "problem_name": "Safe Packing",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2707,
          "problem_letter": "F",
          "problem_id": 22763,
          "problem_name": "Wireing Assistant",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "shortest path",
            "dijkstra's",
            "value / coordinate compression",
            "grid graph",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "shortest_path",
            "dijkstra",
            "coordinate_compression",
            "grid_graph",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2708,
      "contest_name": "Dhaka Regional Contest 2005",
      "contest_full_name": "Dhaka Regional Contest 2005",
      "contest_year": 2005,
      "contest_path": "ICPC > Regionals > Asia West Continent > Bangladesh",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2708,
          "problem_letter": "H",
          "problem_id": 22762,
          "problem_name": "Counting Triangles",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "combinatorics",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "combinatorics",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2711,
      "contest_name": "1999 South Central USA Regional Programming Contest",
      "contest_full_name": "1999 South Central USA Regional Programming Contest",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2711,
          "problem_letter": "?",
          "problem_id": 22774,
          "problem_name": "Lego Land",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2712,
      "contest_name": "2004 ACM South Pacific Programming Contest",
      "contest_full_name": "2004 ACM South Pacific Programming Contest",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 2,
      "problems": [
        {
          "contest_id": 2712,
          "problem_letter": "F",
          "problem_id": 22775,
          "problem_name": "Trees",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "string",
            "tree",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "trees",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2712,
          "problem_letter": "I",
          "problem_id": 22776,
          "problem_name": "Colors",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2714,
      "contest_name": "Shanghai Regional Contest 1999",
      "contest_full_name": "Shanghai Regional Contest 1999",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Asia East Continent > China > Shanghai",
      "problem_count": 3,
      "problems": [
        {
          "contest_id": 2714,
          "problem_letter": "F",
          "problem_id": 22784,
          "problem_name": "The Revolution of the Ants",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2714,
          "problem_letter": "G",
          "problem_id": 22783,
          "problem_name": "Game Fan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2714,
          "problem_letter": "H",
          "problem_id": 22780,
          "problem_name": "How Many Days Are There?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2717,
      "contest_name": "1999 Southeast USA Regional Programming Contest",
      "contest_full_name": "1999 Southeast USA Regional Programming Contest",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional",
      "problem_count": 3,
      "problems": [
        {
          "contest_id": 2717,
          "problem_letter": "?",
          "problem_id": 22787,
          "problem_name": "Crop Circles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2717,
          "problem_letter": "?",
          "problem_id": 22790,
          "problem_name": "Inside Information",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "ad-hoc",
            "geometry",
            "binary search",
            "parsing",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "geometry",
            "binary_search",
            "parsing",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 2717,
          "problem_letter": "?",
          "problem_id": 22791,
          "problem_name": "Auburn Courier and Messages",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2718,
      "contest_name": "2001 ACM South Pacific Programming Contest",
      "contest_full_name": "2001 ACM South Pacific Programming Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > South Pacific > South Pacific Region",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2718,
          "problem_letter": "A",
          "problem_id": 22788,
          "problem_name": "Prime Digital Roots",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "simulation",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "simulation",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2719,
      "contest_name": "The 2000 ACM Asia Programming Contest, Kanpur",
      "contest_full_name": "The 2000 ACM Asia Programming Contest, Kanpur",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Asia West Continent > India",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2719,
          "problem_letter": "B",
          "problem_id": 22789,
          "problem_name": "Ski Slopes",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2720,
      "contest_name": "The 2002 ACM Asia Programming Contest - Manila",
      "contest_full_name": "The 2002 ACM Asia Programming Contest - Manila",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia Pacific > Philippines",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2720,
          "problem_letter": "H",
          "problem_id": 22792,
          "problem_name": "Similarity",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "string",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2721,
      "contest_name": "The 2002 ACM South Africa Programming Contest",
      "contest_full_name": "The 2002 ACM South Africa Programming Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Africa and Arab > South Africa Regional Contest",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2721,
          "problem_letter": "A",
          "problem_id": 22793,
          "problem_name": "Radix 3",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2723,
      "contest_name": "South America Regional Contests 1998",
      "contest_full_name": "South America Regional Contests 1998",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2723,
          "problem_letter": "?",
          "problem_id": 22795,
          "problem_name": "Visible Squares",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2724,
      "contest_name": "The 1998 ACM Asia Programming Contest, Dhaka",
      "contest_full_name": "The 1998 ACM Asia Programming Contest, Dhaka",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > Asia West Continent > Bangladesh",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2724,
          "problem_letter": "F",
          "problem_id": 22797,
          "problem_name": "Walk an Equation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2725,
      "contest_name": "SEERC 2001",
      "contest_full_name": "SEERC 2001",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2725,
          "problem_letter": "E",
          "problem_id": 22798,
          "problem_name": "Permutation",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2727,
      "contest_name": "CERC 2004",
      "contest_full_name": "CERC 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2727,
          "problem_letter": "A",
          "problem_id": 22804,
          "problem_name": "Art of War",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2728,
      "contest_name": "ACM-ICPC World Finals 2004",
      "contest_full_name": "ACM-ICPC World Finals 2004",
      "contest_year": 2004,
      "contest_path": "ICPC > World Finals",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 2728,
          "problem_letter": "A",
          "problem_id": 22808,
          "problem_name": "Carl the Ant",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2728,
          "problem_letter": "C",
          "problem_id": 22806,
          "problem_name": "Image is Everything",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2728,
          "problem_letter": "D",
          "problem_id": 22805,
          "problem_name": "Insecure in Prague",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2728,
          "problem_letter": "F",
          "problem_id": 22807,
          "problem_name": "Merging Maps",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2728,
          "problem_letter": "I",
          "problem_id": 22809,
          "problem_name": "Suspense!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2729,
      "contest_name": "2003 Japan Domestic Contest",
      "contest_full_name": "2003 Japan Domestic Contest",
      "contest_year": 2003,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 2729,
          "problem_letter": "A",
          "problem_id": 22810,
          "problem_name": "When Can We Meet?",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2729,
          "problem_letter": "B",
          "problem_id": 22811,
          "problem_name": "Get Many Persimmon Trees",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2729,
          "problem_letter": "C",
          "problem_id": 22812,
          "problem_name": "The Secret Number",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "dp",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 2729,
          "problem_letter": "D",
          "problem_id": 22813,
          "problem_name": "Building a Space Station",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "geometry",
            "minimum spanning tree",
            "geometry; 3d"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "mst",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 2729,
          "problem_letter": "E",
          "problem_id": 22814,
          "problem_name": "Square Carpets",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2730,
      "contest_name": "2002 Japan Domestic Contest",
      "contest_full_name": "2002 Japan Domestic Contest",
      "contest_year": 2002,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 2730,
          "problem_letter": "A",
          "problem_id": 22815,
          "problem_name": "Exploring Caves",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2730,
          "problem_letter": "B",
          "problem_id": 22816,
          "problem_name": "Pile Up!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2730,
          "problem_letter": "C",
          "problem_id": 22817,
          "problem_name": "Kanglish : Analysis on Artificial Language",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2730,
          "problem_letter": "D",
          "problem_id": 22818,
          "problem_name": "What is the Number in my Mind ?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2730,
          "problem_letter": "E",
          "problem_id": 22819,
          "problem_name": "Enclosing Circles",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2731,
      "contest_name": "2001 Japan Domestic Contest",
      "contest_full_name": "2001 Japan Domestic Contest",
      "contest_year": 2001,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 2731,
          "problem_letter": "A",
          "problem_id": 22820,
          "problem_name": "Get a Rectangular Field",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2731,
          "problem_letter": "B",
          "problem_id": 22821,
          "problem_name": "Multi-column List",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2731,
          "problem_letter": "C",
          "problem_id": 22822,
          "problem_name": "Jigsaw Puzzles for Computers",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2731,
          "problem_letter": "D",
          "problem_id": 22823,
          "problem_name": "Missing Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2731,
          "problem_letter": "E",
          "problem_id": 22824,
          "problem_name": "Nets of Dice",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2732,
      "contest_name": "2000 Japan Domestic Contest",
      "contest_full_name": "2000 Japan Domestic Contest",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 2732,
          "problem_letter": "A",
          "problem_id": 22825,
          "problem_name": "Fermat's Last Theorem",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 2732,
          "problem_letter": "B",
          "problem_id": 22826,
          "problem_name": "Patience",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2732,
          "problem_letter": "C",
          "problem_id": 22827,
          "problem_name": "Cyber Guardian",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2732,
          "problem_letter": "D",
          "problem_id": 22828,
          "problem_name": "Strange Key",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2732,
          "problem_letter": "E",
          "problem_id": 22829,
          "problem_name": "File Compression",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2733,
      "contest_name": "Asia Regional Contest 2000 in Tsukuba",
      "contest_full_name": "Asia Regional Contest 2000 in Tsukuba",
      "contest_year": 2000,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 2733,
          "problem_letter": "A",
          "problem_id": 22830,
          "problem_name": "Lost in Space",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2733,
          "problem_letter": "B",
          "problem_id": 22831,
          "problem_name": "Family Tree",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "data structures",
            "string",
            "tree",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "string",
            "trees",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2733,
          "problem_letter": "C",
          "problem_id": 22832,
          "problem_name": "Push!!",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2733,
          "problem_letter": "D",
          "problem_id": 22833,
          "problem_name": "Pump up Batteries",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2733,
          "problem_letter": "E",
          "problem_id": 22834,
          "problem_name": "The Devil of Gravity",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2733,
          "problem_letter": "F",
          "problem_id": 22835,
          "problem_name": "Numoeba",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2733,
          "problem_letter": "G",
          "problem_id": 22836,
          "problem_name": "Telescope",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2733,
          "problem_letter": "H",
          "problem_id": 22837,
          "problem_name": "Ether Geometry",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2734,
      "contest_name": "Asia Regional Contest 1999 in Kyoto",
      "contest_full_name": "Asia Regional Contest 1999 in Kyoto",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 2734,
          "problem_letter": "A",
          "problem_id": 22838,
          "problem_name": "Rational Irrationals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2734,
          "problem_letter": "B",
          "problem_id": 22839,
          "problem_name": "Square Coins",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2734,
          "problem_letter": "C",
          "problem_id": 22840,
          "problem_name": "Die Game",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2734,
          "problem_letter": "D",
          "problem_id": 22841,
          "problem_name": "Trapezoids",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2734,
          "problem_letter": "E",
          "problem_id": 22842,
          "problem_name": "Mirror Illusion",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2734,
          "problem_letter": "F",
          "problem_id": 22843,
          "problem_name": "Heavenly Jewels",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "implementation",
            "line segment intersection check",
            "mathematics",
            "area of a polygon",
            "probability theory",
            "sorting",
            "voronoi diagram"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "line_intersection",
            "math",
            "polygon_area",
            "probability",
            "sorting",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        },
        {
          "contest_id": 2734,
          "problem_letter": "G",
          "problem_id": 22844,
          "problem_name": "Walking Ant",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2734,
          "problem_letter": "H",
          "problem_id": 22845,
          "problem_name": "Co-occurrence Search",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2744,
      "contest_name": "North America Championship 2021",
      "contest_full_name": "North America Championship 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2744,
          "problem_letter": "A",
          "problem_id": 22922,
          "problem_name": "AND Permutation",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "bitmask",
            "divide and conquer"
          ],
          "tag_keys": [
            "ad_hoc",
            "bitmask",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "B",
          "problem_id": 22923,
          "problem_name": "Apple Orchard",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "mathematics",
            "geometry",
            "half plane intersection",
            "boolean operations on geometric objects",
            "voronoi diagram"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "half_plane_intersection",
            "geometric_boolean_operations",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "C",
          "problem_id": 22924,
          "problem_name": "Cleaning Robot",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "graph traversal",
            "prefix sum",
            "breadth-first search",
            "parametric search",
            "difference array"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "prefix_sum",
            "bfs",
            "parametric_search",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "D",
          "problem_id": 22925,
          "problem_name": "Contest Construction",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "E",
          "problem_id": 22926,
          "problem_name": "Ketek Counting",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "F",
          "problem_id": 22927,
          "problem_name": "Mountainous Palindromic Subarray",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "two-pointer"
          ],
          "tag_keys": [
            "bruteforcing",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "G",
          "problem_id": 22928,
          "problem_name": "Permutation CFG",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "data structures"
          ],
          "tag_keys": [
            "math",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "H",
          "problem_id": 22929,
          "problem_name": "Special Cycle",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "general matching",
            "graph theory"
          ],
          "tag_keys": [
            "general_matching",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "general_matching",
              "name": "general matching",
              "boj_tag_id": 15
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "I",
          "problem_id": 22930,
          "problem_name": "The King's Guards",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "minimum spanning tree",
            "bipartite matching",
            "matroid"
          ],
          "tag_keys": [
            "graphs",
            "mst",
            "bipartite_matching",
            "matroid"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "matroid",
              "name": "matroid",
              "boj_tag_id": 104
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "J",
          "problem_id": 22931,
          "problem_name": "The Paladin",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "K",
          "problem_id": 22932,
          "problem_name": "Token Game",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "ad-hoc",
            "dynamic programming",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "ad_hoc",
            "dp",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "L",
          "problem_id": 22933,
          "problem_name": "TraveLog",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2744,
          "problem_letter": "M",
          "problem_id": 22934,
          "problem_name": "You be The Judge, Again",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2795,
      "contest_name": "CERC 2020",
      "contest_full_name": "CERC 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2795,
          "problem_letter": "A",
          "problem_id": 23092,
          "problem_name": "Art Transaction",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "set / map by hashing",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "graph_traversal",
            "set",
            "bfs",
            "hash_set",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "B",
          "problem_id": 23093,
          "problem_name": "Bank Robbery",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "ad-hoc",
            "tree",
            "constructive",
            "game theory",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "trees",
            "constructive",
            "game_theory",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "C",
          "problem_id": 23094,
          "problem_name": "Pizzo Collectors",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "divide and conquer",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "divide_and_conquer",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "E",
          "problem_id": 23095,
          "problem_name": "Excavation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "G",
          "problem_id": 23096,
          "problem_name": "Tobacco Growing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "M",
          "problem_id": 23097,
          "problem_name": "Rescue Mission",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "number theory",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "O",
          "problem_id": 23098,
          "problem_name": "Offices",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "linear algebra",
            "mathematics",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "linear_algebra",
            "math",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "P",
          "problem_id": 23099,
          "problem_name": "Pickpockets",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "P",
          "problem_id": 23100,
          "problem_name": "Storage Problems",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "R",
          "problem_id": 23101,
          "problem_name": "Roof Escape",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "case work",
            "geometry",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "geometry",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2795,
          "problem_letter": "S",
          "problem_id": 23102,
          "problem_name": "Screamers",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "two-pointer",
            "segment tree with lazy propagation",
            "offline queries",
            "link/cut tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "two_pointer",
            "lazyprop",
            "offline_queries",
            "link_cut_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "link_cut_tree",
              "name": "link/cut tree",
              "boj_tag_id": 98
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2805,
      "contest_name": "ICPC World Finals 2020",
      "contest_full_name": "ICPC World Finals 2020",
      "contest_year": 2020,
      "contest_path": "ICPC > World Finals",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 2805,
          "problem_letter": "A",
          "problem_id": 23192,
          "problem_name": "Cardiology",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "B",
          "problem_id": 23193,
          "problem_name": "The Cost of Speed Limits",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "C",
          "problem_id": 23194,
          "problem_name": "Domes",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "area of a polygon",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "D",
          "problem_id": 23195,
          "problem_name": "Gene Folding",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy",
            "string",
            "manacher's"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "manacher"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "manacher",
              "name": "manacher's",
              "boj_tag_id": 44
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "E",
          "problem_id": 23196,
          "problem_name": "Landscape Generator",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "prefix sum",
            "difference array"
          ],
          "tag_keys": [
            "prefix_sum",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "F",
          "problem_id": 23197,
          "problem_name": "Ley Lines",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "geometry",
            "binary search",
            "sweeping",
            "bulldozer trick"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "sweeping",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "G",
          "problem_id": 23198,
          "problem_name": "Opportunity Cost",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "mathematics",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "math",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "H",
          "problem_id": 23199,
          "problem_name": "QC QC",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "I",
          "problem_id": 23200,
          "problem_name": "Quests",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "J",
          "problem_id": 23201,
          "problem_name": "’S No Problem",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "K",
          "problem_id": 23202,
          "problem_name": "Space Walls",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "L",
          "problem_id": 23203,
          "problem_name": "Sweep Stakes",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "segment tree",
            "offline queries",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "segtree",
            "offline_queries",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "M",
          "problem_id": 23204,
          "problem_name": "Trailing Digits",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "N",
          "problem_id": 23205,
          "problem_name": "What’s Our Vector, Victor?",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 2805,
          "problem_letter": "O",
          "problem_id": 23206,
          "problem_name": "Which Planet is This?!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "knuth–morris–pratt",
            "string"
          ],
          "tag_keys": [
            "kmp",
            "string"
          ],
          "tag_details": [
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2806,
      "contest_name": "ACM-ICPC World Finals Dress Rehearsal 2012",
      "contest_full_name": "ACM-ICPC World Finals Dress Rehearsal 2012",
      "contest_year": 2012,
      "contest_path": "ICPC > World Finals > World Finals Dress Rehearsal",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2806,
          "problem_letter": "A",
          "problem_id": 23207,
          "problem_name": "Preludes",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2806,
          "problem_letter": "B",
          "problem_id": 23208,
          "problem_name": "Limited Correspondence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "C",
          "problem_id": 23209,
          "problem_name": "Heliocentric",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "D",
          "problem_id": 23210,
          "problem_name": "In or Out",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "E",
          "problem_id": 23211,
          "problem_name": "Polish Notation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "F",
          "problem_id": 23212,
          "problem_name": "Prime Spiral",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "G",
          "problem_id": 23213,
          "problem_name": "Sierpiński circumference",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "H",
          "problem_id": 23214,
          "problem_name": "Towers of Powers 2: Power Harder",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "I",
          "problem_id": 23215,
          "problem_name": "Matrix Inverse",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "J",
          "problem_id": 23216,
          "problem_name": "Reversing Roads",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "K",
          "problem_id": 23217,
          "problem_name": "Counting Stars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2806,
          "problem_letter": "L",
          "problem_id": 23218,
          "problem_name": "Statistics",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2807,
      "contest_name": "ACM-ICPC World Finals Dress Rehearsal 2010",
      "contest_full_name": "ACM-ICPC World Finals Dress Rehearsal 2010",
      "contest_year": 2010,
      "contest_path": "ICPC > World Finals > World Finals Dress Rehearsal",
      "problem_count": 4,
      "problems": [
        {
          "contest_id": 2807,
          "problem_letter": "A",
          "problem_id": 23219,
          "problem_name": "Does Not Compute",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2807,
          "problem_letter": "B",
          "problem_id": 23220,
          "problem_name": "Formatting Text",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2807,
          "problem_letter": "C",
          "problem_id": 23221,
          "problem_name": "Genetic Search",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2807,
          "problem_letter": "D",
          "problem_id": 23222,
          "problem_name": "Unique Shapes",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2808,
      "contest_name": "ACM-ICPC World Finals 2009",
      "contest_full_name": "ACM-ICPC World Finals 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2808,
          "problem_letter": "A",
          "problem_id": 23223,
          "problem_name": "A Careful Approach",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "B",
          "problem_id": 23224,
          "problem_name": "My Bad",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "C",
          "problem_id": 23225,
          "problem_name": "The Return of Carl",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "D",
          "problem_id": 23226,
          "problem_name": "Conduit Packing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "E",
          "problem_id": 23227,
          "problem_name": "Fare and Balanced",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "F",
          "problem_id": 23228,
          "problem_name": "Deer-Proof Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "G",
          "problem_id": 23229,
          "problem_name": "House of Cards",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "H",
          "problem_id": 23230,
          "problem_name": "The Ministers’ Major Mess",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "I",
          "problem_id": 23231,
          "problem_name": "Struts and Springs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "J",
          "problem_id": 23232,
          "problem_name": "Subway Timing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2808,
          "problem_letter": "K",
          "problem_id": 23233,
          "problem_name": "Suffix-Replacement Grammars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2809,
      "contest_name": "ACM-ICPC World Finals Dress Rehearsal 2009",
      "contest_full_name": "ACM-ICPC World Finals Dress Rehearsal 2009",
      "contest_year": 2009,
      "contest_path": "ICPC > World Finals > World Finals Dress Rehearsal",
      "problem_count": 4,
      "problems": [
        {
          "contest_id": 2809,
          "problem_letter": "A",
          "problem_id": 23234,
          "problem_name": "The World Responds",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2809,
          "problem_letter": "B",
          "problem_id": 23235,
          "problem_name": "The Fastest Sorting Algorithm In The World",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2809,
          "problem_letter": "C",
          "problem_id": 23236,
          "problem_name": "Fikapaus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2809,
          "problem_letter": "D",
          "problem_id": 23237,
          "problem_name": "How Many Subtrees?",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2810,
      "contest_name": "Seoul Nationalwide Internet Competition 2021",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2810,
          "problem_letter": "A",
          "problem_id": 23238,
          "problem_name": "Best Student",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "offline queries",
            "value / coordinate compression",
            "square root decomposition",
            "mo's"
          ],
          "tag_keys": [
            "offline_queries",
            "coordinate_compression",
            "sqrt_decomposition",
            "mo"
          ],
          "tag_details": [
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "B",
          "problem_id": 23239,
          "problem_name": "당근 밭",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "C",
          "problem_id": 23240,
          "problem_name": "Colorful Tower of Hanoi",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "case work",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "D",
          "problem_id": 23241,
          "problem_name": "Drones",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "E",
          "problem_id": 23242,
          "problem_name": "Histogram",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "F",
          "problem_id": 23243,
          "problem_name": "Logistical Warehouse",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "G",
          "problem_id": 23244,
          "problem_name": "Moving Logs",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "graph theory",
            "geometry",
            "set / map",
            "sweeping",
            "set / map by trees",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "graphs",
            "geometry",
            "set",
            "sweeping",
            "tree_set",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "H",
          "problem_id": 23245,
          "problem_name": "Similarity",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "sorting",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "I",
          "problem_id": 23246,
          "problem_name": "Sport Climbing Combined",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "J",
          "problem_id": 23247,
          "problem_name": "Ten",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "K",
          "problem_id": 23248,
          "problem_name": "Treasure Hunter",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "lis"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 2810,
          "problem_letter": "L",
          "problem_id": 23249,
          "problem_name": "Triangles",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2816,
      "contest_name": "NCPC 2021",
      "contest_full_name": "NCPC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2816,
          "problem_letter": "A",
          "problem_id": 23265,
          "problem_name": "Antenna Analysis",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "B",
          "problem_id": 23266,
          "problem_name": "Breaking Bars",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "backtracking",
            "bitmask",
            "greedy"
          ],
          "tag_keys": [
            "backtracking",
            "bitmask",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "C",
          "problem_id": 23267,
          "problem_name": "Customs Controls",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "ad-hoc",
            "shortest path",
            "dijkstra's",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "shortest_path",
            "dijkstra",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "D",
          "problem_id": 23268,
          "problem_name": "Deceptive Directions",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "E",
          "problem_id": 23269,
          "problem_name": "Eavesdropper Evasion",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "F",
          "problem_id": 23270,
          "problem_name": "Fortune From Folly",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "gaussian elimination",
            "linear algebra",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "gaussian_elimination",
            "linear_algebra",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "G",
          "problem_id": 23271,
          "problem_name": "Grazed Grains",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry",
            "probability theory",
            "randomization"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "probability",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "H",
          "problem_id": 23272,
          "problem_name": "Hiring Help",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "convex hull",
            "data structures",
            "geometry",
            "offline queries",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "convex_hull",
            "data_structures",
            "geometry",
            "offline_queries",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "I",
          "problem_id": 23273,
          "problem_name": "Intact Intervals",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "combinatorics",
            "hashing",
            "mathematics",
            "rabin–karp",
            "string"
          ],
          "tag_keys": [
            "combinatorics",
            "hashing",
            "math",
            "rabin_karp",
            "string"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "J",
          "problem_id": 23274,
          "problem_name": "Joint Jog Jam",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "K",
          "problem_id": 23275,
          "problem_name": "Knot Knowledge",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "L",
          "problem_id": 23276,
          "problem_name": "Locust Locus",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2816,
          "problem_letter": "M",
          "problem_id": 23277,
          "problem_name": "Marvelous Marathon",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "ad-hoc",
            "case work",
            "greedy",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "greedy",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2817,
      "contest_name": "ACM-ICPC World Finals 2002",
      "contest_full_name": "ACM-ICPC World Finals 2002",
      "contest_year": 2002,
      "contest_path": "ICPC > World Finals",
      "problem_count": 1,
      "problems": [
        {
          "contest_id": 2817,
          "problem_letter": "D",
          "problem_id": 2383,
          "problem_name": "Ferries",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2818,
      "contest_name": "TOPC 2021",
      "contest_full_name": "TOPC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 2818,
          "problem_letter": "A",
          "problem_id": 23334,
          "problem_name": "Olympic Ranking",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "B",
          "problem_id": 23335,
          "problem_name": "Aliquot Sum",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "C",
          "problem_id": 23336,
          "problem_name": "A Sorting Problem",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "D",
          "problem_id": 23337,
          "problem_name": "Drunk Passenger",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "E",
          "problem_id": 23338,
          "problem_name": "Eatcoin",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "binary search",
            "parametric search",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "parametric_search",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "F",
          "problem_id": 23339,
          "problem_name": "Flip",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "segment tree with lazy propagation",
            "difference array"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "lazyprop",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "G",
          "problem_id": 23340,
          "problem_name": "Garden Park",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "sorting",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "H",
          "problem_id": 23341,
          "problem_name": "A Hard Problem",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "bruteforcing",
            "set / map",
            "bitmask",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "set",
            "bitmask",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "I",
          "problem_id": 23342,
          "problem_name": "ICPC Kingdom",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "matroid"
          ],
          "tag_keys": [
            "matroid"
          ],
          "tag_details": [
            {
              "key": "matroid",
              "name": "matroid",
              "boj_tag_id": 104
            }
          ]
        },
        {
          "contest_id": 2818,
          "problem_letter": "J",
          "problem_id": 23343,
          "problem_name": "JavaScript",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2825,
      "contest_name": "BAPC 2021 Preliminaries",
      "contest_full_name": "BAPC 2021 Preliminaries",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 2825,
          "problem_letter": "A",
          "problem_id": 23364,
          "problem_name": "Almost Always",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "randomization",
            "birthday problem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "randomization",
            "birthday"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "birthday",
              "name": "birthday problem",
              "boj_tag_id": 203
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "B",
          "problem_id": 23365,
          "problem_name": "Buffered Buffet",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "C",
          "problem_id": 23366,
          "problem_name": "Candy Contribution",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "D",
          "problem_id": 23367,
          "problem_name": "Dickensian Dictionary",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "E",
          "problem_id": 23368,
          "problem_name": "Entering Enemy Encampment",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "bitmask",
            "game theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "bitmask",
            "game_theory",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "F",
          "problem_id": 23369,
          "problem_name": "Fridge Distraction",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "greedy",
            "deque"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "deque"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "G",
          "problem_id": 23370,
          "problem_name": "<code>git mv</code>",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "H",
          "problem_id": 23371,
          "problem_name": "Histogram",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "I",
          "problem_id": 23372,
          "problem_name": "Ice Growth",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "binary search",
            "prefix sum",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "prefix_sum",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "J",
          "problem_id": 23373,
          "problem_name": "Jack the Mole",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 2825,
          "problem_letter": "K",
          "problem_id": 23374,
          "problem_name": "Kudzu Kniving",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "ad-hoc",
            "tree",
            "set / map",
            "bitmask",
            "set / map by hashing",
            "dynamic programming on trees",
            "set / map by trees",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "ad_hoc",
            "trees",
            "set",
            "bitmask",
            "hash_set",
            "dp_tree",
            "tree_set",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2826,
      "contest_name": "BAPC 2021",
      "contest_full_name": "BAPC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2826,
          "problem_letter": "A",
          "problem_id": 23375,
          "problem_name": "Arm Coordination",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "B",
          "problem_id": 23376,
          "problem_name": "BnPC",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "C",
          "problem_id": 23377,
          "problem_name": "Cangaroo",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "D",
          "problem_id": 23378,
          "problem_name": "Decelerating Jump",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "E",
          "problem_id": 23379,
          "problem_name": "Evolutionary Excerpt",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "ad-hoc",
            "probability theory",
            "longest common subsequence"
          ],
          "tag_keys": [
            "math",
            "dp",
            "ad_hoc",
            "probability",
            "lcs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "lcs",
              "name": "longest common subsequence",
              "boj_tag_id": 219
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "F",
          "problem_id": 23380,
          "problem_name": "Fair Play",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "G",
          "problem_id": 23381,
          "problem_name": "Gyrating Glyphs",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "ad-hoc",
            "randomization"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "H",
          "problem_id": 23382,
          "problem_name": "Hamiltooonian Hike",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "I",
          "problem_id": 23383,
          "problem_name": "Implementation Irregularities",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "J",
          "problem_id": 23384,
          "problem_name": "Jail or Joyride",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "directed acyclic graph",
            "floyd–warshall",
            "graph theory",
            "graph traversal",
            "implementation",
            "shortest path",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "floyd_warshall",
            "graphs",
            "graph_traversal",
            "implementation",
            "shortest_path",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "K",
          "problem_id": 23385,
          "problem_name": "Kinking Cables",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "case work",
            "constructive",
            "geometry"
          ],
          "tag_keys": [
            "case_work",
            "constructive",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2826,
          "problem_letter": "L",
          "problem_id": 23386,
          "problem_name": "Lopsided Lineup",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2827,
      "contest_name": "Maratona de Programação SBC 2021",
      "contest_full_name": "Maratona de Programação SBC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 2827,
          "problem_letter": "A",
          "problem_id": 23387,
          "problem_name": "Assigning Prizes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "polynomial interpolation"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "polynomial_interpolation"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "polynomial_interpolation",
              "name": "polynomial interpolation",
              "boj_tag_id": 209
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "B",
          "problem_id": 23388,
          "problem_name": "Beautiful Words",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "C",
          "problem_id": 23389,
          "problem_name": "Creating Multiples",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "D",
          "problem_id": 23390,
          "problem_name": "Dividing the Kingdom",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "inclusion and exclusion",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "inclusion_and_exclusion",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "E",
          "problem_id": 23391,
          "problem_name": "Escalator",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "F",
          "problem_id": 23392,
          "problem_name": "Freedom from Prison",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "depth-first search",
            "geometry",
            "graph theory",
            "graph traversal",
            "sweeping",
            "tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "geometry",
            "graphs",
            "graph_traversal",
            "sweeping",
            "trees",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "G",
          "problem_id": 23393,
          "problem_name": "Getting in Shape",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "backtracking",
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "H",
          "problem_id": 23394,
          "problem_name": "Handling the Blocks",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "sorting"
          ],
          "tag_keys": [
            "sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "I",
          "problem_id": 23395,
          "problem_name": "Inverting Everything",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bit set",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "bitset",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "J",
          "problem_id": 23396,
          "problem_name": "Just Bootfall",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "K",
          "problem_id": 23397,
          "problem_name": "Kathmandu",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "L",
          "problem_id": 23398,
          "problem_name": "Listing Passwords",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "data structures",
            "disjoint set",
            "graph theory",
            "hashing",
            "segment tree",
            "smaller to larger technique",
            "sparse table"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "disjoint_set",
            "graphs",
            "hashing",
            "segtree",
            "smaller_to_larger",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "M",
          "problem_id": 23399,
          "problem_name": "Monarchy in Vertigo",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack",
            "offline queries",
            "deque"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "trees",
            "dfs",
            "stack",
            "offline_queries",
            "deque"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            }
          ]
        },
        {
          "contest_id": 2827,
          "problem_letter": "N",
          "problem_id": 23400,
          "problem_name": "No Luck",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "sorting",
            "segment tree",
            "offline queries",
            "merge sort tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree",
            "offline_queries",
            "merge_sort_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2859,
      "contest_name": "Asia Regional - Seoul 2021",
      "contest_full_name": "Asia Regional - Seoul 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2859,
          "problem_letter": "A",
          "problem_id": 23566,
          "problem_name": "Ant Colonies",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "offline queries",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "offline_queries",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "B",
          "problem_id": 23567,
          "problem_name": "Double Rainbow",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "two-pointer"
          ],
          "tag_keys": [
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "C",
          "problem_id": 23568,
          "problem_name": "Find the House",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "simulation",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "simulation",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "D",
          "problem_id": 23569,
          "problem_name": "Friendship Graphs",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "knapsack",
            "bipartite graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "knapsack",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "E",
          "problem_id": 23570,
          "problem_name": "Grid Triangle",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "F",
          "problem_id": 23571,
          "problem_name": "John’s Gift",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "G",
          "problem_id": 23572,
          "problem_name": "Logistical Warehouse 2",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "H",
          "problem_id": 23573,
          "problem_name": "Postman",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "case work",
            "data structures",
            "greedy",
            "implementation",
            "priority queue",
            "sorting",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "greedy",
            "implementation",
            "priority_queue",
            "sorting",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "I",
          "problem_id": 23574,
          "problem_name": "Security System",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "dynamic programming",
            "geometry",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "dp",
            "geometry",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "J",
          "problem_id": 23575,
          "problem_name": "Squid Game",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "K",
          "problem_id": 23576,
          "problem_name": "Stock Price Prediction",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "knuth–morris–pratt",
            "segment tree",
            "string"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "kmp",
            "segtree",
            "string"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2859,
          "problem_letter": "L",
          "problem_id": 23577,
          "problem_name": "Trio",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2866,
      "contest_name": "AMPPZ 2018",
      "contest_full_name": "AMPPZ 2018",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 2866,
          "problem_letter": "A",
          "problem_id": 23602,
          "problem_name": "Drone With a Camera",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 2866,
          "problem_letter": "B",
          "problem_id": 23603,
          "problem_name": "Fibonaccis’ vouchers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "dp",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2866,
          "problem_letter": "C",
          "problem_id": 23604,
          "problem_name": "Chinese Remainder Theorem",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2866,
          "problem_letter": "D",
          "problem_id": 23605,
          "problem_name": "Road",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "E",
          "problem_id": 23606,
          "problem_name": "Evaluation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "F",
          "problem_id": 23607,
          "problem_name": "Baking Pans",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "G",
          "problem_id": 23608,
          "problem_name": "Taste in Art",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "H",
          "problem_id": 23609,
          "problem_name": "Hobby",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "I",
          "problem_id": 23610,
          "problem_name": "Grade Book",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "J",
          "problem_id": 23611,
          "problem_name": "Identical Scarves",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "K",
          "problem_id": 23612,
          "problem_name": "Pocket Money",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "L",
          "problem_id": 23613,
          "problem_name": "Lines",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2866,
          "problem_letter": "M",
          "problem_id": 23614,
          "problem_name": "Magical Maze",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2880,
      "contest_name": "2021 Japan Domestic Contest",
      "contest_full_name": "2021 Japan Domestic Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 2880,
          "problem_letter": "A",
          "problem_id": 23722,
          "problem_name": "Marbles Tell Your Lucky Number",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 2880,
          "problem_letter": "B",
          "problem_id": 23723,
          "problem_name": "Hundred-Cell Calculation Puzzles",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 2880,
          "problem_letter": "C",
          "problem_id": 23724,
          "problem_name": "Tree Transformation Puzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2880,
          "problem_letter": "D",
          "problem_id": 23725,
          "problem_name": "Handing out Balloons",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 2880,
          "problem_letter": "E",
          "problem_id": 23726,
          "problem_name": "Time is Money",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2880,
          "problem_letter": "F",
          "problem_id": 23727,
          "problem_name": "Princess' Perfectionism",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "bipartite matching",
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "greedy",
            "strongly connected component"
          ],
          "tag_keys": [
            "bipartite_matching",
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "greedy",
            "scc"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 2880,
          "problem_letter": "G",
          "problem_id": 23728,
          "problem_name": "Positioning the Lights",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2880,
          "problem_letter": "H",
          "problem_id": 23729,
          "problem_name": "Ninja Escape",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 2887,
      "contest_name": "NWERC 2021",
      "contest_full_name": "NWERC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 2887,
          "problem_letter": "A",
          "problem_id": 23767,
          "problem_name": "Access Denied",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "B",
          "problem_id": 23768,
          "problem_name": "Boredom Buster",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc",
            "case work",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "C",
          "problem_id": 23769,
          "problem_name": "Cutting Edge",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bruteforcing",
            "case work",
            "constructive",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "constructive",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "D",
          "problem_id": 23770,
          "problem_name": "Dyson Circle",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "E",
          "problem_id": 23771,
          "problem_name": "Exchange Students",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "F",
          "problem_id": 23772,
          "problem_name": "Flatland Olympics",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "sorting",
            "geometry",
            "segment tree",
            "sweeping",
            "angle sorting"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "geometry",
            "segtree",
            "sweeping",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "G",
          "problem_id": 23773,
          "problem_name": "Glossary Arrangement",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "dynamic programming",
            "string",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "string",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "H",
          "problem_id": 23774,
          "problem_name": "Heating Up",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "I",
          "problem_id": 23775,
          "problem_name": "IXth Problem",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "binary search",
            "case work",
            "parametric search"
          ],
          "tag_keys": [
            "implementation",
            "binary_search",
            "case_work",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "J",
          "problem_id": 23776,
          "problem_name": "Jet Set",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "K",
          "problem_id": 23777,
          "problem_name": "Knitpicking",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "case work",
            "set / map by hashing",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "case_work",
            "hash_set",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "L",
          "problem_id": 23778,
          "problem_name": "Lucky Shirt",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "PA",
          "problem_id": 12853,
          "problem_name": "Aurora Borealis",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "PB",
          "problem_id": 21983,
          "problem_name": "Basalt Breakdown",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 2887,
          "problem_letter": "PC",
          "problem_id": 23761,
          "problem_name": "Counterfeit Coin",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 2888,
      "contest_name": "CTU Open Contest 2021",
      "contest_full_name": "CTU Open Contest 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 2888,
          "problem_letter": "A",
          "problem_id": 23779,
          "problem_name": "Silver Star Stands Alone",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "C",
          "problem_id": 23780,
          "problem_name": "TomTom Cruise",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "D",
          "problem_id": 23781,
          "problem_name": "Mad Diamond",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2888,
          "problem_letter": "F",
          "problem_id": 23782,
          "problem_name": "Burizon Fort",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "H",
          "problem_id": 23783,
          "problem_name": "Terrace Hill",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "I",
          "problem_id": 23784,
          "problem_name": "Eidam-Sand Lair",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "O",
          "problem_id": 23785,
          "problem_name": "Organ-free Man",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "P",
          "problem_id": 23786,
          "problem_name": "Bread Pit",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "number theory",
            "tree"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "math",
            "number_theory",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "R",
          "problem_id": 23787,
          "problem_name": "Cyanide Rivers",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "S",
          "problem_id": 23788,
          "problem_name": "Screamers in the Storm",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 2888,
          "problem_letter": "T",
          "problem_id": 23789,
          "problem_name": "Tone Banks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 2888,
          "problem_letter": "W",
          "problem_id": 23790,
          "problem_name": "Win Diesel",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "breadth-first search",
            "priority queue",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "bfs",
            "priority_queue",
            "lca"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3015,
      "contest_name": "ICPC North America Qualifier 2021",
      "contest_full_name": "ICPC North America Qualifier 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 3015,
          "problem_letter": "A",
          "problem_id": 24401,
          "problem_name": "Alien Integers",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "B",
          "problem_id": 24402,
          "problem_name": "Avoiding Asteroids",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3015,
          "problem_letter": "C",
          "problem_id": 24403,
          "problem_name": "Common Factors",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "greedy",
            "number theory",
            "euclidean algorithm",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory",
            "euclidean",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "D",
          "problem_id": 24404,
          "problem_name": "Dimensional Analysis",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3015,
          "problem_letter": "E",
          "problem_id": 24405,
          "problem_name": "Eye of Sauron",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "F",
          "problem_id": 24406,
          "problem_name": "ilove Strings",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "inclusion and exclusion",
            "meet in the middle"
          ],
          "tag_keys": [
            "dp",
            "inclusion_and_exclusion",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "G",
          "problem_id": 24407,
          "problem_name": "MrCodeFormatGrader",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "H",
          "problem_id": 24408,
          "problem_name": "Mult!",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "I",
          "problem_id": 24409,
          "problem_name": "Pizza Party!",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "implementation",
            "parsing",
            "string",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "hash_set",
            "implementation",
            "parsing",
            "string",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "J",
          "problem_id": 24410,
          "problem_name": "Stacking Up",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "K",
          "problem_id": 24411,
          "problem_name": "Stamp Combinations",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "binary search",
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "prefix sum",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "binary_search",
            "bruteforcing",
            "data_structures",
            "hash_set",
            "prefix_sum",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "L",
          "problem_id": 24412,
          "problem_name": "Sword Counting",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3015,
          "problem_letter": "M",
          "problem_id": 24413,
          "problem_name": "Tic-Tac State",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bitmask",
            "implementation"
          ],
          "tag_keys": [
            "bitmask",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3015,
          "problem_letter": "N",
          "problem_id": 24414,
          "problem_name": "Venn Intervals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3033,
      "contest_name": "2021 East Central Regional Contest",
      "contest_full_name": "2021 East Central Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3033,
          "problem_letter": "A",
          "problem_id": 24555,
          "problem_name": "1’s For All",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "B",
          "problem_id": 24556,
          "problem_name": "Abridged Reading",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "C",
          "problem_id": 24557,
          "problem_name": "Ball of Whacks",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "D",
          "problem_id": 24558,
          "problem_name": "Downsizing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "geometry",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "E",
          "problem_id": 24559,
          "problem_name": "Gambling Game",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "arbitrary precision / big integers",
            "case work",
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "case_work",
            "combinatorics",
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "F",
          "problem_id": 24560,
          "problem_name": "Growing Some Oobleck",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "G",
          "problem_id": 24561,
          "problem_name": "Noonerized Spumbers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "string",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "H",
          "problem_id": 24562,
          "problem_name": "Numble",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3033,
          "problem_letter": "I",
          "problem_id": 24563,
          "problem_name": "Pinned Files",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "greedy",
            "two-pointer"
          ],
          "tag_keys": [
            "ad_hoc",
            "greedy",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "J",
          "problem_id": 24564,
          "problem_name": "Recycling",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "K",
          "problem_id": 24565,
          "problem_name": "Stable Table",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "L",
          "problem_id": 24566,
          "problem_name": "Statues",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3033,
          "problem_letter": "M",
          "problem_id": 24567,
          "problem_name": "Tomb Hater",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3036,
      "contest_name": "2021 Mid-Atlantic USA Regional Contest",
      "contest_full_name": "2021 Mid-Atlantic USA Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3036,
          "problem_letter": "A",
          "problem_id": 24577,
          "problem_name": "Espresso!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "B",
          "problem_id": 24578,
          "problem_name": "Ultimate Binary Watch",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "C",
          "problem_id": 24579,
          "problem_name": "Concert Rehearsal",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "data structures",
            "binary search",
            "two-pointer",
            "sparse table"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "binary_search",
            "two_pointer",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "D",
          "problem_id": 24580,
          "problem_name": "Land Equality",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "E",
          "problem_id": 24581,
          "problem_name": "Even Substrings",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "data structures",
            "segment tree with lazy propagation",
            "prefix sum",
            "segment tree"
          ],
          "tag_keys": [
            "bitmask",
            "data_structures",
            "lazyprop",
            "prefix_sum",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "F",
          "problem_id": 24582,
          "problem_name": "Bracket Pairing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "G",
          "problem_id": 24583,
          "problem_name": "Parking Lot",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "two-pointer",
            "line segment intersection check"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "two_pointer",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "H",
          "problem_id": 24584,
          "problem_name": "Subprime",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "I",
          "problem_id": 24585,
          "problem_name": "Word Puzzle",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "J",
          "problem_id": 24586,
          "problem_name": "Code Guessing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "K",
          "problem_id": 24587,
          "problem_name": "Tree Number Generator",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "tree",
            "number theory",
            "lowest common ancestor",
            "sparse table"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "trees",
            "number_theory",
            "lca",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "L",
          "problem_id": 24588,
          "problem_name": "Lone Rook",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 3036,
          "problem_letter": "M",
          "problem_id": 24589,
          "problem_name": "Stream Lag",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3037,
      "contest_name": "2021 North Central NA Regional Contest",
      "contest_full_name": "2021 North Central NA Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3037,
          "problem_letter": "A",
          "problem_id": 24581,
          "problem_name": "Even Substrings",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "data structures",
            "segment tree with lazy propagation",
            "prefix sum",
            "segment tree"
          ],
          "tag_keys": [
            "bitmask",
            "data_structures",
            "lazyprop",
            "prefix_sum",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "B",
          "problem_id": 24587,
          "problem_name": "Tree Number Generator",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "tree",
            "number theory",
            "lowest common ancestor",
            "sparse table"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "trees",
            "number_theory",
            "lca",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "C",
          "problem_id": 24584,
          "problem_name": "Subprime",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "D",
          "problem_id": 24578,
          "problem_name": "Ultimate Binary Watch",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "E",
          "problem_id": 24580,
          "problem_name": "Land Equality",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "F",
          "problem_id": 24585,
          "problem_name": "Word Puzzle",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "G",
          "problem_id": 24586,
          "problem_name": "Code Guessing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "H",
          "problem_id": 24588,
          "problem_name": "Lone Rook",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "I",
          "problem_id": 24583,
          "problem_name": "Parking Lot",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "two-pointer",
            "line segment intersection check"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "two_pointer",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "J",
          "problem_id": 24589,
          "problem_name": "Stream Lag",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "K",
          "problem_id": 24582,
          "problem_name": "Bracket Pairing",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "L",
          "problem_id": 24577,
          "problem_name": "Espresso!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3037,
          "problem_letter": "M",
          "problem_id": 24579,
          "problem_name": "Concert Rehearsal",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "data structures",
            "binary search",
            "two-pointer",
            "sparse table"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "binary_search",
            "two_pointer",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3038,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2021 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3038,
          "problem_letter": "A",
          "problem_id": 24590,
          "problem_name": "Circle Bounce",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "B",
          "problem_id": 24591,
          "problem_name": "Shortest Missing Subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "C",
          "problem_id": 24592,
          "problem_name": "XOR Island",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "D",
          "problem_id": 24593,
          "problem_name": "Archery Accuracy",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "gaussian elimination",
            "linear algebra",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "gaussian_elimination",
            "linear_algebra",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "E",
          "problem_id": 24594,
          "problem_name": "Problem Set Construction",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "F",
          "problem_id": 24595,
          "problem_name": "Rise and Fall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "G",
          "problem_id": 24596,
          "problem_name": "Hopscotch 500",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "H",
          "problem_id": 24597,
          "problem_name": "Reversibly Cyclic Strings",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "string",
            "ad-hoc",
            "set / map"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "set"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "I",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "J",
          "problem_id": 24599,
          "problem_name": "Fail Them All!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "floyd–warshall",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "floyd_warshall",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "K",
          "problem_id": 24600,
          "problem_name": "Tournament Seeding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "L",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3038,
          "problem_letter": "M",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3039,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2021 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3039,
          "problem_letter": "N",
          "problem_id": 24603,
          "problem_name": "Scaling Recipe",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "O",
          "problem_id": 24591,
          "problem_name": "Shortest Missing Subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "P",
          "problem_id": 24604,
          "problem_name": "Black and White",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "Q",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "R",
          "problem_id": 24606,
          "problem_name": "Double Password",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "S",
          "problem_id": 24595,
          "problem_name": "Rise and Fall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "T",
          "problem_id": 24607,
          "problem_name": "Square Bounce",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "number theory",
            "simulation",
            "case work",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "number_theory",
            "simulation",
            "case_work",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "U",
          "problem_id": 24597,
          "problem_name": "Reversibly Cyclic Strings",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "string",
            "ad-hoc",
            "set / map"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "set"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "V",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "W",
          "problem_id": 24599,
          "problem_name": "Fail Them All!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "floyd–warshall",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "floyd_warshall",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "X",
          "problem_id": 24600,
          "problem_name": "Tournament Seeding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "Y",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3039,
          "problem_letter": "Z",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3040,
      "contest_name": "Division 1",
      "contest_full_name": "Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2021 South Central USA Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3040,
          "problem_letter": "A",
          "problem_id": 24604,
          "problem_name": "Black and White",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "B",
          "problem_id": 24590,
          "problem_name": "Circle Bounce",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "C",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "D",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "E",
          "problem_id": 24599,
          "problem_name": "Fail Them All!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "floyd–warshall",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "floyd_warshall",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "F",
          "problem_id": 24596,
          "problem_name": "Hopscotch 500",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "G",
          "problem_id": 24591,
          "problem_name": "Shortest Missing Subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "H",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "I",
          "problem_id": 24600,
          "problem_name": "Tournament Seeding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "J",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3040,
          "problem_letter": "K",
          "problem_id": 24592,
          "problem_name": "XOR Island",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3041,
      "contest_name": "Division 2",
      "contest_full_name": "Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2021 South Central USA Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3041,
          "problem_letter": "A",
          "problem_id": 24608,
          "problem_name": "Average Character",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "B",
          "problem_id": 24604,
          "problem_name": "Black and White",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "C",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "D",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "E",
          "problem_id": 24606,
          "problem_name": "Double Password",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "F",
          "problem_id": 24609,
          "problem_name": "Overdraft",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "G",
          "problem_id": 24595,
          "problem_name": "Rise and Fall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "H",
          "problem_id": 24607,
          "problem_name": "Square Bounce",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "number theory",
            "simulation",
            "case work",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "number_theory",
            "simulation",
            "case_work",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "I",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "J",
          "problem_id": 24600,
          "problem_name": "Tournament Seeding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "K",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3041,
          "problem_letter": "L",
          "problem_id": 24610,
          "problem_name": "Who Goes There?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3042,
      "contest_name": "Mid-Central USA Programming Contest 2021",
      "contest_full_name": "Mid-Central USA Programming Contest 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3042,
          "problem_letter": "A",
          "problem_id": 24608,
          "problem_name": "Average Character",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "B",
          "problem_id": 24604,
          "problem_name": "Black and White",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "C",
          "problem_id": 24594,
          "problem_name": "Problem Set Construction",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "D",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "E",
          "problem_id": 24609,
          "problem_name": "Overdraft",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "F",
          "problem_id": 24599,
          "problem_name": "Fail Them All!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "floyd–warshall",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "floyd_warshall",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "G",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "H",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "I",
          "problem_id": 24592,
          "problem_name": "XOR Island",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "J",
          "problem_id": 24610,
          "problem_name": "Who Goes There?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3042,
          "problem_letter": "K",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3043,
      "contest_name": "2021 Northeast North America Regional Contest",
      "contest_full_name": "2021 Northeast North America Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > Northeast North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3043,
          "problem_letter": "A",
          "problem_id": 24606,
          "problem_name": "Double Password",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "B",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "C",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "D",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "E",
          "problem_id": 24595,
          "problem_name": "Rise and Fall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "F",
          "problem_id": 24590,
          "problem_name": "Circle Bounce",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "G",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "H",
          "problem_id": 24592,
          "problem_name": "XOR Island",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "I",
          "problem_id": 24599,
          "problem_name": "Fail Them All!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "floyd–warshall",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "floyd_warshall",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "J",
          "problem_id": 24596,
          "problem_name": "Hopscotch 500",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "K",
          "problem_id": 24594,
          "problem_name": "Problem Set Construction",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3043,
          "problem_letter": "L",
          "problem_id": 24591,
          "problem_name": "Shortest Missing Subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3048,
      "contest_name": "ICPC 2021-2022 North-Western Russia Qualification ",
      "contest_full_name": "ICPC 2021-2022 North-Western Russia Qualification ",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 3048,
          "problem_letter": "A",
          "problem_id": 24623,
          "problem_name": "Изгороди",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "B",
          "problem_id": 24624,
          "problem_name": "Анализ крипторынка",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "C",
          "problem_id": 24625,
          "problem_name": "Взять след!",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "D",
          "problem_id": 24626,
          "problem_name": "Градусы, радианы, грады",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "data structures",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "E",
          "problem_id": 24627,
          "problem_name": "Подстроки и подпоследовательности",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "F",
          "problem_id": 24628,
          "problem_name": "Если сложить...",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "G",
          "problem_id": 24629,
          "problem_name": "Генерация ключей",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "digit dp"
          ],
          "tag_keys": [
            "dp",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "H",
          "problem_id": 24630,
          "problem_name": "Супердевятка",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "I",
          "problem_id": 24631,
          "problem_name": "Шахматный конь",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "J",
          "problem_id": 24632,
          "problem_name": "Столетний дятел",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "implementation",
            "simulation",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hash_set",
            "implementation",
            "simulation",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "K",
          "problem_id": 24633,
          "problem_name": "Упавший сервер",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3048,
          "problem_letter": "L",
          "problem_id": 24634,
          "problem_name": "Развитие города",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "sorting",
            "tree",
            "segment tree",
            "binary search",
            "lowest common ancestor",
            "euler tour technique",
            "persistent segment tree",
            "parallel binary search",
            "merge sort tree"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "trees",
            "segtree",
            "binary_search",
            "lca",
            "euler_tour_technique",
            "pst",
            "pbs",
            "merge_sort_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            },
            {
              "key": "pbs",
              "name": "parallel binary search",
              "boj_tag_id": 54
            },
            {
              "key": "merge_sort_tree",
              "name": "merge sort tree",
              "boj_tag_id": 155
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "M",
          "problem_id": 24635,
          "problem_name": "Индекс примечательности",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mo's",
            "offline queries",
            "prefix sum"
          ],
          "tag_keys": [
            "mo",
            "offline_queries",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3048,
          "problem_letter": "N",
          "problem_id": 24636,
          "problem_name": "N-интересные числа",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3048,
          "problem_letter": "O",
          "problem_id": 24637,
          "problem_name": "Пожиратель кактусов",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3049,
      "contest_name": "ICPC 2021-2022 North-Western Russia Regional Contest",
      "contest_full_name": "ICPC 2021-2022 North-Western Russia Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 3049,
          "problem_letter": "A",
          "problem_id": 24638,
          "problem_name": "Anno Domini 2022",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "B",
          "problem_id": 24639,
          "problem_name": "Boris and Berta",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "C",
          "problem_id": 24640,
          "problem_name": "Clean Up!",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "dynamic programming",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "D",
          "problem_id": 24641,
          "problem_name": "Day Streak",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "E",
          "problem_id": 24642,
          "problem_name": "Extreme Problem",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "F",
          "problem_id": 24643,
          "problem_name": "First to Solve",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "linearity of expectation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "linearity_of_expectation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "G",
          "problem_id": 24644,
          "problem_name": "Grand Center",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "parametric search",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "parametric_search",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "H",
          "problem_id": 24645,
          "problem_name": "Halfway There",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "bruteforcing",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "I",
          "problem_id": 24646,
          "problem_name": "Imprecise Permutation Sort",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3049,
          "problem_letter": "J",
          "problem_id": 24647,
          "problem_name": "Journey in Fog",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "greedy",
            "prefix sum",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "prefix_sum",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "K",
          "problem_id": 24648,
          "problem_name": "Kaleidoscopic Route",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "L",
          "problem_id": 24649,
          "problem_name": "Letters Q and F",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "M",
          "problem_id": 24650,
          "problem_name": "Multithreaded Program",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "constructive",
            "set / map by hashing",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "constructive",
            "hash_set",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3049,
          "problem_letter": "N",
          "problem_id": 24651,
          "problem_name": "New White-Black Tree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "constructive",
            "greedy",
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "greedy",
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3057,
      "contest_name": "UKIEPC 2021",
      "contest_full_name": "UKIEPC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3057,
          "problem_letter": "A",
          "problem_id": 23375,
          "problem_name": "Arm Coordination",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "B",
          "problem_id": 23376,
          "problem_name": "BnPC",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "C",
          "problem_id": 23377,
          "problem_name": "Cangaroo",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "D",
          "problem_id": 23378,
          "problem_name": "Decelerating Jump",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "E",
          "problem_id": 24734,
          "problem_name": "Eerie Shadows",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3057,
          "problem_letter": "F",
          "problem_id": 23380,
          "problem_name": "Fair Play",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "G",
          "problem_id": 24735,
          "problem_name": "Getting Square",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3057,
          "problem_letter": "H",
          "problem_id": 23382,
          "problem_name": "Hamiltooonian Hike",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "tree"
          ],
          "tag_keys": [
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "trees"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "I",
          "problem_id": 23383,
          "problem_name": "Implementation Irregularities",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "J",
          "problem_id": 23384,
          "problem_name": "Jail or Joyride",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "directed acyclic graph",
            "floyd–warshall",
            "graph theory",
            "graph traversal",
            "implementation",
            "shortest path",
            "topological sorting"
          ],
          "tag_keys": [
            "dag",
            "floyd_warshall",
            "graphs",
            "graph_traversal",
            "implementation",
            "shortest_path",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "K",
          "problem_id": 23385,
          "problem_name": "Kinking Cables",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "case work",
            "constructive",
            "geometry"
          ],
          "tag_keys": [
            "case_work",
            "constructive",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3057,
          "problem_letter": "L",
          "problem_id": 23386,
          "problem_name": "Lopsided Lineup",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3059,
      "contest_name": "2021 Greater New York Programming Contest",
      "contest_full_name": "2021 Greater New York Programming Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 3059,
          "problem_letter": "A",
          "problem_id": 24736,
          "problem_name": "Football Scoring",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "B",
          "problem_id": 24737,
          "problem_name": "Tri-Color Puzzle",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "C",
          "problem_id": 24738,
          "problem_name": "Checker Slide",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3059,
          "problem_letter": "D",
          "problem_id": 24739,
          "problem_name": "Sequinary Numerals",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "arithmetic",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "arithmetic",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "E",
          "problem_id": 24740,
          "problem_name": "How Many Unicycles in a Broken Wheel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3059,
          "problem_letter": "F",
          "problem_id": 24741,
          "problem_name": "Spider-Fly",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3059,
          "problem_letter": "G",
          "problem_id": 24742,
          "problem_name": "Simple Collatz Sequence",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "H",
          "problem_id": 24743,
          "problem_name": "CIDR",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "I",
          "problem_id": 24744,
          "problem_name": "Three Spheres and a Tetrahedron",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "J",
          "problem_id": 24745,
          "problem_name": "Morse Code Palindromes",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "K",
          "problem_id": 24746,
          "problem_name": "Pooling PCR Tests",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "L",
          "problem_id": 24747,
          "problem_name": "Letterle",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "M",
          "problem_id": 24748,
          "problem_name": "7 Segments You Say?",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "precomputation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "precomputation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3059,
          "problem_letter": "N",
          "problem_id": 24749,
          "problem_name": "Neighbors",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3059,
          "problem_letter": "O",
          "problem_id": 24750,
          "problem_name": "Transporting Spaghetti",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3061,
      "contest_name": "2021 Rocky Mountain Regional Contest",
      "contest_full_name": "2021 Rocky Mountain Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 3061,
          "problem_letter": "A",
          "problem_id": 24751,
          "problem_name": "Betting",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "B",
          "problem_id": 24752,
          "problem_name": "Antialiasing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3061,
          "problem_letter": "C",
          "problem_id": 24753,
          "problem_name": "Social Distancing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "D",
          "problem_id": 24754,
          "problem_name": "Pawn Shop",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "E",
          "problem_id": 24755,
          "problem_name": "Election Paradox",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "F",
          "problem_id": 24756,
          "problem_name": "Protect the Pollen!",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "knapsack",
            "recursion",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "knapsack",
            "recursion",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "G",
          "problem_id": 24757,
          "problem_name": "Loot Chest",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "H",
          "problem_id": 24758,
          "problem_name": "RSA Mistake",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "set / map",
            "set / map by hashing",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "set",
            "hash_set",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "I",
          "problem_id": 24759,
          "problem_name": "Slide Count",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation",
            "prefix sum",
            "two-pointer",
            "sliding window"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "prefix_sum",
            "two_pointer",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "J",
          "problem_id": 24760,
          "problem_name": "Snowball Fight",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "case work",
            "mathematics"
          ],
          "tag_keys": [
            "case_work",
            "math"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "K",
          "problem_id": 24761,
          "problem_name": "Team Change",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "ad-hoc",
            "maximum flow",
            "bipartite graph",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "flow",
            "bipartite_graph",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "L",
          "problem_id": 24762,
          "problem_name": "Ticket Completed?",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "combinatorics",
            "breadth-first search",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "combinatorics",
            "bfs",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "M",
          "problem_id": 24763,
          "problem_name": "Trade Routes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "smaller to larger technique",
            "tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "smaller_to_larger",
            "trees",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3061,
          "problem_letter": "N",
          "problem_id": 24764,
          "problem_name": "Wordle with Friends",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3082,
      "contest_name": "ICPC 2021 Asia Yokohama Regional",
      "contest_full_name": "ICPC 2021 Asia Yokohama Regional",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3082,
          "problem_letter": "A",
          "problem_id": 24957,
          "problem_name": "Loop of Chocolate",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "B",
          "problem_id": 24958,
          "problem_name": "Lottery Fun Time",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "C",
          "problem_id": 24959,
          "problem_name": "Reversible Compression",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "D",
          "problem_id": 24960,
          "problem_name": "Wireless Communication Network",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "tree",
            "dynamic programming on trees",
            "stack",
            "cartesian tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "trees",
            "dp_tree",
            "stack",
            "cartesian_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "cartesian_tree",
              "name": "cartesian tree",
              "boj_tag_id": 206
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "E",
          "problem_id": 24961,
          "problem_name": "Planning Railroad Discontinuation",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "F",
          "problem_id": 24962,
          "problem_name": "It’s Surely Complex",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "fast fourier transform",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "fft",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "G",
          "problem_id": 24963,
          "problem_name": "Genealogy of Puppets",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "H",
          "problem_id": 24964,
          "problem_name": "Cancer DNA",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "inclusion and exclusion",
            "randomization"
          ],
          "tag_keys": [
            "inclusion_and_exclusion",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "I",
          "problem_id": 24965,
          "problem_name": "“Even” Division",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "constructive",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "prefix sum"
          ],
          "tag_keys": [
            "constructive",
            "dfs",
            "graphs",
            "graph_traversal",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "J",
          "problem_id": 24966,
          "problem_name": "The Cross Covers Everything",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "binary search",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "binary_search",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3082,
          "problem_letter": "K",
          "problem_id": 24967,
          "problem_name": "Distributing the Treasure",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3088,
      "contest_name": "Latin America Regional Contests 2021",
      "contest_full_name": "Latin America Regional Contests 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3088,
          "problem_letter": "A",
          "problem_id": 24983,
          "problem_name": "Ancient Towers",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "sorting",
            "geometry",
            "segment tree",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "geometry",
            "segtree",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "B",
          "problem_id": 24984,
          "problem_name": "Because, Art!",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "greedy",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "C",
          "problem_id": 24985,
          "problem_name": "Cyclists versus Clouds",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "geometry",
            "breadth-first search",
            "shortest path"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "geometry",
            "bfs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "D",
          "problem_id": 24986,
          "problem_name": "Daily Turnovers",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree with lazy propagation",
            "prefix sum",
            "segment tree",
            "sparse table",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "lazyprop",
            "prefix_sum",
            "segtree",
            "sparse_table",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "E",
          "problem_id": 24987,
          "problem_name": "Expedition Plans",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "data structures",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "F",
          "problem_id": 24988,
          "problem_name": "Fields Division",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "G",
          "problem_id": 24989,
          "problem_name": "Generator Tree",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "set / map",
            "dynamic programming on trees",
            "centroid",
            "tree isomorphism"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "set",
            "dp_tree",
            "centroid",
            "tree_isomorphism"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "tree_isomorphism",
              "name": "tree isomorphism",
              "boj_tag_id": 145
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "H",
          "problem_id": 24990,
          "problem_name": "Hamilton - The Musical",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "hungarian"
          ],
          "tag_keys": [
            "hungarian"
          ],
          "tag_details": [
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "I",
          "problem_id": 24991,
          "problem_name": "Invested Money",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "J",
          "problem_id": 24992,
          "problem_name": "Joining Pairs",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "K",
          "problem_id": 24993,
          "problem_name": "KIARA is a Recursive Acronym",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "L",
          "problem_id": 24994,
          "problem_name": "Leaving Yharnam",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "combinatorics",
            "case work",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "combinatorics",
            "case_work",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 3088,
          "problem_letter": "M",
          "problem_id": 24995,
          "problem_name": "Most Ordered Way",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3089,
      "contest_name": "AMPPZ 2015",
      "contest_full_name": "AMPPZ 2015",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3089,
          "problem_letter": "A",
          "problem_id": 24996,
          "problem_name": "Album of Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3089,
          "problem_letter": "B",
          "problem_id": 24997,
          "problem_name": "Well Off",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "C",
          "problem_id": 24998,
          "problem_name": "Accurate Shots (8Mb TL!)",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3089,
          "problem_letter": "D",
          "problem_id": 24999,
          "problem_name": "Prom",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "E",
          "problem_id": 25000,
          "problem_name": "Impressive Graphs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3089,
          "problem_letter": "F",
          "problem_id": 25001,
          "problem_name": "Pen",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "G",
          "problem_id": 25002,
          "problem_name": "Board Game",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "convex hull",
            "divide and conquer",
            "geometry",
            "rotating calipers",
            "smaller to larger technique",
            "two-pointer"
          ],
          "tag_keys": [
            "convex_hull",
            "divide_and_conquer",
            "geometry",
            "rotating_calipers",
            "smaller_to_larger",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "H",
          "problem_id": 25003,
          "problem_name": "Scouts",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "I",
          "problem_id": 25004,
          "problem_name": "Insects",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "J",
          "problem_id": 25005,
          "problem_name": "Caves",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3089,
          "problem_letter": "K",
          "problem_id": 25006,
          "problem_name": "Blocks",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3089,
          "problem_letter": "L",
          "problem_id": 25007,
          "problem_name": "Postman",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3100,
      "contest_name": "SWERC 2021-2022",
      "contest_full_name": "SWERC 2021-2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3100,
          "problem_letter": "A",
          "problem_id": 25053,
          "problem_name": "Organizing SWERC",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "B",
          "problem_id": 25054,
          "problem_name": "Drone Photo",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "C",
          "problem_id": 25055,
          "problem_name": "Il Derby della Madonnina",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "D",
          "problem_id": 25056,
          "problem_name": "Ice Cream Shop",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "binary search",
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "E",
          "problem_id": 25057,
          "problem_name": "Evolution of Weasels",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "F",
          "problem_id": 25058,
          "problem_name": "Bottle Arrangements",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "G",
          "problem_id": 25059,
          "problem_name": "Round Table",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "greedy",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "H",
          "problem_id": 25060,
          "problem_name": "Pandemic Restrictions",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "I",
          "problem_id": 25061,
          "problem_name": "Antennas",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "breadth-first search",
            "data structures",
            "graph theory",
            "graph traversal",
            "segment tree"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "graphs",
            "graph_traversal",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "J",
          "problem_id": 25062,
          "problem_name": "Boundary",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "number theory",
            "case work",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "case_work",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "K",
          "problem_id": 25063,
          "problem_name": "Gastronomic Event",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bit set",
            "centroid",
            "knapsack",
            "tree"
          ],
          "tag_keys": [
            "bitset",
            "centroid",
            "knapsack",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3100,
          "problem_letter": "L",
          "problem_id": 25064,
          "problem_name": "Circular Maze",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3108,
      "contest_name": "CERC 2021",
      "contest_full_name": "CERC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 3108,
          "problem_letter": "A",
          "problem_id": 25102,
          "problem_name": "Airline",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "tree",
            "prefix sum",
            "dynamic programming on trees",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "trees",
            "prefix_sum",
            "dp_tree",
            "lca"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "B",
          "problem_id": 25103,
          "problem_name": "Building on the Moon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3108,
          "problem_letter": "C",
          "problem_id": 25104,
          "problem_name": "Cactus cutting",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "biconnected component",
            "cactus",
            "divide and conquer",
            "dynamic programming",
            "fast fourier transform",
            "graph theory",
            "mathematics"
          ],
          "tag_keys": [
            "bcc",
            "cactus",
            "divide_and_conquer",
            "dp",
            "fft",
            "graphs",
            "math"
          ],
          "tag_details": [
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "D",
          "problem_id": 25105,
          "problem_name": "DJ Darko",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "set / map by trees",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "tree_set",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "E",
          "problem_id": 25106,
          "problem_name": "Fishing",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "F",
          "problem_id": 25107,
          "problem_name": "Letters",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "G",
          "problem_id": 25108,
          "problem_name": "Lines in a grid",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "prefix sum",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "prefix_sum",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "H",
          "problem_id": 25109,
          "problem_name": "Radar",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3108,
          "problem_letter": "I",
          "problem_id": 25110,
          "problem_name": "Regional development",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "J",
          "problem_id": 25111,
          "problem_name": "Repetitions",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "divide and conquer",
            "string",
            "suffix array and lcp array",
            "z"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "string",
            "suffix_array",
            "z"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "K",
          "problem_id": 25112,
          "problem_name": "Single-track railway",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "L",
          "problem_id": 25113,
          "problem_name": "Systematic salesman",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "X",
          "problem_id": 25099,
          "problem_name": "Anagram",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "string",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "Y",
          "problem_id": 25100,
          "problem_name": "E(length(CH))",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "linearity of expectation",
            "mathematics",
            "probability theory",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "geometry",
            "linearity_of_expectation",
            "math",
            "probability",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3108,
          "problem_letter": "Z",
          "problem_id": 25101,
          "problem_name": "Robin Hood",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3111,
      "contest_name": "CPC 2021",
      "contest_full_name": "CPC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 3111,
          "problem_letter": "A",
          "problem_id": 25127,
          "problem_name": "Aromatična avantura",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 3111,
          "problem_letter": "B",
          "problem_id": 25128,
          "problem_name": "Bratski brojevi",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "combinatorics",
            "inclusion and exclusion",
            "mathematics",
            "möbius inversion",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "combinatorics",
            "inclusion_and_exclusion",
            "math",
            "mobius_inversion",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 3111,
          "problem_letter": "C",
          "problem_id": 25129,
          "problem_name": "Cjelobrojne crte",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3111,
          "problem_letter": "D",
          "problem_id": 25130,
          "problem_name": "Drvene daščice",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3111,
          "problem_letter": "E",
          "problem_id": 25131,
          "problem_name": "Ekscentrična enkripcija",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3111,
          "problem_letter": "F",
          "problem_id": 25132,
          "problem_name": "Fleksibilan fikus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3111,
          "problem_letter": "G",
          "problem_id": 25133,
          "problem_name": "Grozne granice",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "tree",
            "heavy-light decomposition",
            "link/cut tree"
          ],
          "tag_keys": [
            "trees",
            "hld",
            "link_cut_tree"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            },
            {
              "key": "link_cut_tree",
              "name": "link/cut tree",
              "boj_tag_id": 98
            }
          ]
        },
        {
          "contest_id": 3111,
          "problem_letter": "H",
          "problem_id": 25134,
          "problem_name": "Hrskave hrstule",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "simulation",
            "priority queue",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "simulation",
            "priority_queue",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3111,
          "problem_letter": "I",
          "problem_id": 25135,
          "problem_name": "Idilična ivica",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 3111,
          "problem_letter": "J",
          "problem_id": 25136,
          "problem_name": "Još jači",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3126,
      "contest_name": "North America Championship 2022",
      "contest_full_name": "North America Championship 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3126,
          "problem_letter": "A",
          "problem_id": 25225,
          "problem_name": "Contact Tracing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "B",
          "problem_id": 25226,
          "problem_name": "Cookie Cutter",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "sweeping",
            "ternary search",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "sweeping",
            "ternary_search",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "C",
          "problem_id": 25227,
          "problem_name": "Cram",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "string",
            "segment tree",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "string",
            "segtree",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "D",
          "problem_id": 25228,
          "problem_name": "Double Sort",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "E",
          "problem_id": 25229,
          "problem_name": "GCD Harmony",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "number theory",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "number_theory",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "F",
          "problem_id": 25230,
          "problem_name": "Leaderboard Effect",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "G",
          "problem_id": 25231,
          "problem_name": "Rafting Trip",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "tree",
            "functional graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "trees",
            "functional_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "H",
          "problem_id": 25232,
          "problem_name": "Ranked Choice Spoiling",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "greedy",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "I",
          "problem_id": 25233,
          "problem_name": "Reset",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "J",
          "problem_id": 25234,
          "problem_name": "Tic Tac Toe Counting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "dynamic programming",
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "backtracking",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "data_structures",
            "bruteforcing",
            "set",
            "hash_set",
            "backtracking",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "K",
          "problem_id": 25235,
          "problem_name": "Transparency",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "graph theory",
            "case work",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "case_work",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "L",
          "problem_id": 25236,
          "problem_name": "Triangular Logs",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "sorting",
            "ad-hoc",
            "segment tree",
            "sweeping",
            "square root decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "ad_hoc",
            "segtree",
            "sweeping",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 3126,
          "problem_letter": "M",
          "problem_id": 25237,
          "problem_name": "Word Ladder",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "string",
            "ad-hoc",
            "set / map",
            "constructive",
            "set / map by hashing",
            "precomputation",
            "randomization"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "ad_hoc",
            "set",
            "constructive",
            "hash_set",
            "precomputation",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3127,
      "contest_name": "GCPC 2021",
      "contest_full_name": "GCPC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 3127,
          "problem_letter": "A",
          "problem_id": 25245,
          "problem_name": "Amusement Arcade",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "B",
          "problem_id": 25246,
          "problem_name": "Brexiting and Brentering",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "C",
          "problem_id": 25247,
          "problem_name": "Card Trading",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "D",
          "problem_id": 25248,
          "problem_name": "Decrypting Zodiac",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "string",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "string",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "E",
          "problem_id": 25249,
          "problem_name": "Excursion to Porvoo",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "sorting",
            "priority queue",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "priority_queue",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "F",
          "problem_id": 25250,
          "problem_name": "Flappy Bird",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "convex hull",
            "data structures",
            "deque",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "data_structures",
            "deque",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "G",
          "problem_id": 25251,
          "problem_name": "Grid Delivery",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "H",
          "problem_id": 25252,
          "problem_name": "Hectic Harbour II",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "ad-hoc",
            "linked list"
          ],
          "tag_keys": [
            "data_structures",
            "ad_hoc",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "I",
          "problem_id": 25253,
          "problem_name": "Index Case",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "J",
          "problem_id": 25254,
          "problem_name": "Joined Sessions",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "K",
          "problem_id": 25255,
          "problem_name": "Killjoys' Conference",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "combinatorics",
            "depth-first search",
            "bipartite graph"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "combinatorics",
            "dfs",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "L",
          "problem_id": 25256,
          "problem_name": "Looking for Waldo",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "M",
          "problem_id": 25257,
          "problem_name": "Monty's Hall",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3127,
          "problem_letter": "N",
          "problem_id": 25258,
          "problem_name": "Natural Navigation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3141,
      "contest_name": "Northern Eurasia Finals 2021",
      "contest_full_name": "Northern Eurasia Finals 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3141,
          "problem_letter": "A",
          "problem_id": 25355,
          "problem_name": "Admissible Map",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc",
            "dynamic programming",
            "functional graph",
            "graph theory",
            "hashing"
          ],
          "tag_keys": [
            "ad_hoc",
            "dp",
            "functional_graph",
            "graphs",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "B",
          "problem_id": 25356,
          "problem_name": "Budget Distribution",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "sweeping",
            "calculus",
            "slope trick"
          ],
          "tag_keys": [
            "math",
            "sweeping",
            "calculus",
            "slope_trick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "slope_trick",
              "name": "slope trick",
              "boj_tag_id": 157
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "C",
          "problem_id": 25357,
          "problem_name": "Connect the Points",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "D",
          "problem_id": 25358,
          "problem_name": "Deletive Editing",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "E",
          "problem_id": 25359,
          "problem_name": "Even Split",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search",
            "dynamic programming",
            "greedy",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "dp",
            "greedy",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "F",
          "problem_id": 25360,
          "problem_name": "Fancy Stack",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "G",
          "problem_id": 25361,
          "problem_name": "Global Warming",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "geometry",
            "sweeping",
            "disjoint set",
            "offline queries",
            "geometry; 3d"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "sweeping",
            "disjoint_set",
            "offline_queries",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "H",
          "problem_id": 25362,
          "problem_name": "Heroes of Might",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "convex hull",
            "square root decomposition",
            "sum of floor of rational arithmetic sequence"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "convex_hull",
            "sqrt_decomposition",
            "floor_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            },
            {
              "key": "floor_sum",
              "name": "sum of floor of rational arithmetic sequence",
              "boj_tag_id": 218
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "I",
          "problem_id": 25363,
          "problem_name": "Interactive Treasure Hunt",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "J",
          "problem_id": 25364,
          "problem_name": "Job Lookup",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "K",
          "problem_id": 25365,
          "problem_name": "Kingdom Partition",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 3141,
          "problem_letter": "L",
          "problem_id": 25366,
          "problem_name": "Labyrinth",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3177,
      "contest_name": "2022 Japan Domestic Contest",
      "contest_full_name": "2022 Japan Domestic Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 3177,
          "problem_letter": "A",
          "problem_id": 25527,
          "problem_name": "Counting Peaks of Infection",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3177,
          "problem_letter": "B",
          "problem_id": 25528,
          "problem_name": "Leave No One Behind",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3177,
          "problem_letter": "C",
          "problem_id": 25529,
          "problem_name": "Training Schedule for ICPC",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3177,
          "problem_letter": "D",
          "problem_id": 25530,
          "problem_name": "Audience Queue",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "prefix sum",
            "combinatorics",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "prefix_sum",
            "combinatorics",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 3177,
          "problem_letter": "E",
          "problem_id": 25531,
          "problem_name": "Village of Lore",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "case work",
            "circulation",
            "constructive",
            "maximum flow",
            "implementation",
            "graph theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work",
            "circulation",
            "constructive",
            "flow",
            "implementation",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3177,
          "problem_letter": "F",
          "problem_id": 25532,
          "problem_name": "Trim It Step by Step",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "greedy",
            "parsing",
            "string",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "greedy",
            "parsing",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3177,
          "problem_letter": "G",
          "problem_id": 25533,
          "problem_name": "Keep in Touch",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3177,
          "problem_letter": "H",
          "problem_id": 25534,
          "problem_name": "Artist in Agony",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3217,
      "contest_name": "Seoul Nationalwide Internet Competition 2022",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3217,
          "problem_letter": "A",
          "problem_id": 25943,
          "problem_name": "양팔저울",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "B",
          "problem_id": 25944,
          "problem_name": "Bar Magnet",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "C",
          "problem_id": 25945,
          "problem_name": "컨테이너 재배치",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "D",
          "problem_id": 25946,
          "problem_name": "Flags",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "E",
          "problem_id": 25947,
          "problem_name": "선물할인",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "F",
          "problem_id": 25948,
          "problem_name": "Islands Tour",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "G",
          "problem_id": 25949,
          "problem_name": "Jar Game",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "H",
          "problem_id": 25950,
          "problem_name": "Longest Shortest Paths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3217,
          "problem_letter": "I",
          "problem_id": 25951,
          "problem_name": "Magic Potion",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc",
            "binary search",
            "string"
          ],
          "tag_keys": [
            "ad_hoc",
            "binary_search",
            "string"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "J",
          "problem_id": 25952,
          "problem_name": "Rectangles",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "square root decomposition"
          ],
          "tag_keys": [
            "geometry",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 3217,
          "problem_letter": "K",
          "problem_id": 25953,
          "problem_name": "템포럴 그래프",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3221,
      "contest_name": "BAPC 2022 Preliminaries",
      "contest_full_name": "BAPC 2022 Preliminaries",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3221,
          "problem_letter": "A",
          "problem_id": 25980,
          "problem_name": "Abbreviated Aliases",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "B",
          "problem_id": 25981,
          "problem_name": "Bubble-bubble Sort",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "C",
          "problem_id": 25982,
          "problem_name": "Cookbook Composition",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "data structures",
            "graph theory",
            "set / map",
            "set / map by hashing",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "graphs",
            "set",
            "hash_set",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "D",
          "problem_id": 25983,
          "problem_name": "Dimensional Debugging",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "breadth-first search",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "E",
          "problem_id": 25984,
          "problem_name": "Extended Braille",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "set / map by hashing",
            "sorting",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "sorting",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "F",
          "problem_id": 25985,
          "problem_name": "Fastestest Function",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "G",
          "problem_id": 25986,
          "problem_name": "Guessing Primes",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "number theory",
            "simulation",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "number_theory",
            "simulation",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "H",
          "problem_id": 25987,
          "problem_name": "Heavy Hauling",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "calculus",
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "I",
          "problem_id": 25988,
          "problem_name": "Inked Inscriptions",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "constructive",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "constructive",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "J",
          "problem_id": 25989,
          "problem_name": "Jabbing Jets",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "K",
          "problem_id": 25990,
          "problem_name": "Knitting Patterns",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3221,
          "problem_letter": "L",
          "problem_id": 25991,
          "problem_name": "Lots of Liquid",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3222,
      "contest_name": "BAPC 2022",
      "contest_full_name": "BAPC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3222,
          "problem_letter": "A",
          "problem_id": 25992,
          "problem_name": "Adjusted Average",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "bruteforcing",
            "binary search",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "binary_search",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "B",
          "problem_id": 25993,
          "problem_name": "Bellevue",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "C",
          "problem_id": 25994,
          "problem_name": "Crashing Competition Computer",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "D",
          "problem_id": 25995,
          "problem_name": "Dividing DNA",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "E",
          "problem_id": 25996,
          "problem_name": "Equalising Audio",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "F",
          "problem_id": 25997,
          "problem_name": "Failing Flagship",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "G",
          "problem_id": 25998,
          "problem_name": "Grinding Gravel",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "H",
          "problem_id": 25999,
          "problem_name": "House Numbering",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "I",
          "problem_id": 26000,
          "problem_name": "Imperfect Imperial Units",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "data structures",
            "string",
            "graph traversal",
            "set / map",
            "depth-first search",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "string",
            "graph_traversal",
            "set",
            "dfs",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "J",
          "problem_id": 26001,
          "problem_name": "Jagged Skyline",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "randomization"
          ],
          "tag_keys": [
            "binary_search",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "K",
          "problem_id": 26002,
          "problem_name": "Kiosk Construction",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 3222,
          "problem_letter": "L",
          "problem_id": 26003,
          "problem_name": "Lowest Latency",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3223,
      "contest_name": "GCPC 2022",
      "contest_full_name": "GCPC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3223,
          "problem_letter": "A",
          "problem_id": 26011,
          "problem_name": "Alternative Architecture",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "B",
          "problem_id": 26012,
          "problem_name": "Breeding Bugs",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes",
            "bipartite matching"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "C",
          "problem_id": 26013,
          "problem_name": "Chaotic Construction",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "segment tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "D",
          "problem_id": 26014,
          "problem_name": "Diabolic Doofenshmirtz",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "E",
          "problem_id": 26015,
          "problem_name": "Enjoyable Entree",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "F",
          "problem_id": 26016,
          "problem_name": "Formula Flatland",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "graph theory",
            "square root decomposition",
            "planar graph"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "sqrt_decomposition",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "G",
          "problem_id": 26017,
          "problem_name": "Guessing Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "H",
          "problem_id": 26018,
          "problem_name": "Hardcore Hangman",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "bitmask"
          ],
          "tag_keys": [
            "ad_hoc",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "I",
          "problem_id": 26019,
          "problem_name": "Improving IT",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "J",
          "problem_id": 26020,
          "problem_name": "Jesting Jabberwocky",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "longest common subsequence"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "lcs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "lcs",
              "name": "longest common subsequence",
              "boj_tag_id": 219
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "K",
          "problem_id": 26021,
          "problem_name": "K.O. Kids",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "L",
          "problem_id": 26022,
          "problem_name": "Lots of Land",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3223,
          "problem_letter": "M",
          "problem_id": 26023,
          "problem_name": "Mirror Madness",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "geometry",
            "binary search",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "binary_search",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3224,
      "contest_name": "NCPC 2022",
      "contest_full_name": "NCPC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3224,
          "problem_letter": "A",
          "problem_id": 26024,
          "problem_name": "Ace Arbiter",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "B",
          "problem_id": 26025,
          "problem_name": "Berry Battle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "tree",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "trees",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "C",
          "problem_id": 26026,
          "problem_name": "Coffee Cup Combo",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "D",
          "problem_id": 26027,
          "problem_name": "Disc District",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "ad-hoc",
            "geometry"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "E",
          "problem_id": 26028,
          "problem_name": "Enigmatic Enumeration",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "F",
          "problem_id": 26029,
          "problem_name": "Foreign Football",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "knuth–morris–pratt",
            "string"
          ],
          "tag_keys": [
            "kmp",
            "string"
          ],
          "tag_details": [
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "G",
          "problem_id": 26030,
          "problem_name": "Graduation Guarantee",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "dynamic programming",
            "greedy",
            "sorting",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "greedy",
            "sorting",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "H",
          "problem_id": 26031,
          "problem_name": "Highest Hill",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "I",
          "problem_id": 26032,
          "problem_name": "Icy Itinerary",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "data structures",
            "ad-hoc",
            "constructive",
            "linked list"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "ad_hoc",
            "constructive",
            "linked_list"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "J",
          "problem_id": 26033,
          "problem_name": "Junk Journey",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3224,
          "problem_letter": "K",
          "problem_id": 26034,
          "problem_name": "Keyboard Queries",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "string",
            "segment tree",
            "binary search",
            "disjoint set",
            "hashing",
            "smaller to larger technique",
            "rabin–karp"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "segtree",
            "binary_search",
            "disjoint_set",
            "hashing",
            "smaller_to_larger",
            "rabin_karp"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3225,
      "contest_name": "CTU Open Contest 2022",
      "contest_full_name": "CTU Open Contest 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3225,
          "problem_letter": "A",
          "problem_id": 26044,
          "problem_name": "Array",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "data structures",
            "set / map",
            "combinatorics",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "set",
            "combinatorics",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "C",
          "problem_id": 26045,
          "problem_name": "Canoes",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "2-sat",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "E",
          "problem_id": 26046,
          "problem_name": "Earthquake",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "precomputation",
            "sorting",
            "string",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hash_set",
            "precomputation",
            "sorting",
            "string",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "J",
          "problem_id": 26047,
          "problem_name": "Journals",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "M",
          "problem_id": 26048,
          "problem_name": "Mower",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "N",
          "problem_id": 26049,
          "problem_name": "Needle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3225,
          "problem_letter": "P",
          "problem_id": 26050,
          "problem_name": "Patio",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "R",
          "problem_id": 26051,
          "problem_name": "Robots",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "game theory",
            "parity",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "game_theory",
            "parity",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "S",
          "problem_id": 26052,
          "problem_name": "Shamans",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "articulation points and bridges",
            "biconnected component",
            "graph theory",
            "graph traversal",
            "greedy"
          ],
          "tag_keys": [
            "articulation",
            "bcc",
            "graphs",
            "graph_traversal",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "T",
          "problem_id": 26053,
          "problem_name": "Transmitter",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "string",
            "tree",
            "two-pointer",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "two_pointer",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "V",
          "problem_id": 26054,
          "problem_name": "Volcanoes",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "value / coordinate compression",
            "dynamic programming",
            "greedy",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "coordinate_compression",
            "dp",
            "greedy",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3225,
          "problem_letter": "W",
          "problem_id": 26055,
          "problem_name": "Wagon",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3226,
      "contest_name": "ICPC 2022-2023 North-Western Russia Qualification",
      "contest_full_name": "ICPC 2022-2023 North-Western Russia Qualification",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3226,
          "problem_letter": "A",
          "problem_id": 26057,
          "problem_name": "Большой удой",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "B",
          "problem_id": 26058,
          "problem_name": "Сделай 100",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "C",
          "problem_id": 26059,
          "problem_name": "Вендомат",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "D",
          "problem_id": 26060,
          "problem_name": "На планете Иворил...",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "E",
          "problem_id": 26061,
          "problem_name": "История версий",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "F",
          "problem_id": 26062,
          "problem_name": "Туристы, достопримечательности и телескопы",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "binary search",
            "prefix sum"
          ],
          "tag_keys": [
            "binary_search",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "G",
          "problem_id": 26063,
          "problem_name": "Сапёр 1D",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "H",
          "problem_id": 26064,
          "problem_name": "Матч тысячелетия",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "euclidean algorithm",
            "mathematics",
            "number theory",
            "ternary search"
          ],
          "tag_keys": [
            "euclidean",
            "math",
            "number_theory",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 3226,
          "problem_letter": "I",
          "problem_id": 26065,
          "problem_name": "Кусочно-линейные функции",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3226,
          "problem_letter": "J",
          "problem_id": 26066,
          "problem_name": "Мой дед",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3226,
          "problem_letter": "K",
          "problem_id": 26067,
          "problem_name": "Старобарский рэп",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3227,
      "contest_name": "Asia Regional - Seoul 2022",
      "contest_full_name": "Asia Regional - Seoul 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3227,
          "problem_letter": "A",
          "problem_id": 26102,
          "problem_name": "Card Game",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "dynamic programming",
            "game theory",
            "parity",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "game_theory",
            "parity",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "B",
          "problem_id": 26103,
          "problem_name": "Castle Design",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc",
            "dynamic programming"
          ],
          "tag_keys": [
            "ad_hoc",
            "dp"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "C",
          "problem_id": 26104,
          "problem_name": "Empty Quadrilaterals",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "sorting",
            "geometry",
            "two-pointer",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "two_pointer",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "D",
          "problem_id": 26105,
          "problem_name": "Folding Stick",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "data structures",
            "prefix sum",
            "priority queue"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "prefix_sum",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "E",
          "problem_id": 26106,
          "problem_name": "Forbidden Turns",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "graph theory",
            "set / map",
            "shortest path",
            "set / map by hashing",
            "dijkstra's",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "set",
            "shortest_path",
            "hash_set",
            "dijkstra",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "F",
          "problem_id": 26107,
          "problem_name": "Frog Jump",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "G",
          "problem_id": 26108,
          "problem_name": "Linear Regression",
          "problem_difficulty": "Ruby I",
          "difficulty_level": 30,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "sorting",
            "ad-hoc",
            "geometry",
            "case work",
            "two-pointer",
            "stack",
            "convex hull",
            "line segment intersection check",
            "rotating calipers",
            "duality",
            "bulldozer trick"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "sorting",
            "ad_hoc",
            "geometry",
            "case_work",
            "two_pointer",
            "stack",
            "convex_hull",
            "line_intersection",
            "rotating_calipers",
            "duality",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            },
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "H",
          "problem_id": 26109,
          "problem_name": "Longest Substring",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "greedy",
            "string",
            "tree",
            "binary search",
            "set / map",
            "smaller to larger technique",
            "trie",
            "suffix tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "string",
            "trees",
            "binary_search",
            "set",
            "smaller_to_larger",
            "trie",
            "suffix_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "suffix_tree",
              "name": "suffix tree",
              "boj_tag_id": 182
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "I",
          "problem_id": 26110,
          "problem_name": "Palindrome Type",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "string",
            "recursion"
          ],
          "tag_keys": [
            "string",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "J",
          "problem_id": 26111,
          "problem_name": "Parentheses Tree",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "K",
          "problem_id": 26112,
          "problem_name": "Shuffle Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "longest common subsequence"
          ],
          "tag_keys": [
            "dp",
            "lcs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "lcs",
              "name": "longest common subsequence",
              "boj_tag_id": 219
            }
          ]
        },
        {
          "contest_id": 3227,
          "problem_letter": "L",
          "problem_id": 26113,
          "problem_name": "Two Choreographies",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "constructive",
            "depth-first search",
            "lowest common ancestor",
            "traceback",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "constructive",
            "dfs",
            "lca",
            "traceback",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3230,
      "contest_name": "ICPC World Finals 2021",
      "contest_full_name": "ICPC World Finals 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > World Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3230,
          "problem_letter": "A",
          "problem_id": 26130,
          "problem_name": "Crystal Crosswind",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "B",
          "problem_id": 26131,
          "problem_name": "Dungeon Crawler",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "lowest common ancestor",
            "sparse table",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "lca",
            "sparse_table",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "C",
          "problem_id": 26132,
          "problem_name": "Fair Division",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "D",
          "problem_id": 26133,
          "problem_name": "Guardians of the Gallery",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "dijkstra's",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "dijkstra",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "E",
          "problem_id": 26134,
          "problem_name": "Hand of the Free Marked",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "graph theory",
            "bruteforcing",
            "combinatorics",
            "backtracking",
            "probability theory",
            "hall's theorem"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "bruteforcing",
            "combinatorics",
            "backtracking",
            "probability",
            "hall"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "F",
          "problem_id": 26135,
          "problem_name": "Islands from the Sky",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "binary search",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "G",
          "problem_id": 26136,
          "problem_name": "Mosaic Browsing",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "H",
          "problem_id": 26137,
          "problem_name": "Prehistoric Programs",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "I",
          "problem_id": 26138,
          "problem_name": "Spider Walk",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "set / map",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "set",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "J",
          "problem_id": 26139,
          "problem_name": "Splitstream",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "K",
          "problem_id": 26140,
          "problem_name": "Take On Meme",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "dynamic programming",
            "geometry",
            "tree",
            "dynamic programming on trees",
            "divide and conquer",
            "convex hull"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "trees",
            "dp_tree",
            "divide_and_conquer",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 3230,
          "problem_letter": "L",
          "problem_id": 26141,
          "problem_name": "Where Am I?",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3237,
      "contest_name": "NWERC 2022",
      "contest_full_name": "NWERC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 3237,
          "problem_letter": "A",
          "problem_id": 26174,
          "problem_name": "Alternating Algorithm",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "ad-hoc",
            "value / coordinate compression",
            "data structures",
            "segment tree with lazy propagation",
            "segment tree"
          ],
          "tag_keys": [
            "ad_hoc",
            "coordinate_compression",
            "data_structures",
            "lazyprop",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "B",
          "problem_id": 26175,
          "problem_name": "Bottle Flip",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "physics"
          ],
          "tag_keys": [
            "math",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "C",
          "problem_id": 26176,
          "problem_name": "Circular Caramel Cookie",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "D",
          "problem_id": 26177,
          "problem_name": "Delft Distance",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "graph theory"
          ],
          "tag_keys": [
            "dp",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "E",
          "problem_id": 26178,
          "problem_name": "ETA",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "F",
          "problem_id": 26179,
          "problem_name": "Faster Than Light",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "convex hull",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "G",
          "problem_id": 26180,
          "problem_name": "Going in Circles",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "bitmask",
            "randomization"
          ],
          "tag_keys": [
            "ad_hoc",
            "bitmask",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "H",
          "problem_id": 26181,
          "problem_name": "High-quality Tree",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "I",
          "problem_id": 26182,
          "problem_name": "Interview Question",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "J",
          "problem_id": 26183,
          "problem_name": "Justice Served",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "dynamic programming",
            "longest increasing sequence problem",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "lis",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "K",
          "problem_id": 26184,
          "problem_name": "Kebab Pizza",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "case work"
          ],
          "tag_keys": [
            "graphs",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "L",
          "problem_id": 26185,
          "problem_name": "Last Guess",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "maximum flow",
            "circulation"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "circulation"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "circulation",
              "name": "circulation",
              "boj_tag_id": 191
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "PA",
          "problem_id": 26171,
          "problem_name": "An Interactive Problem",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "PB",
          "problem_id": 26172,
          "problem_name": "Brothers in Arms",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "floyd–warshall",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "floyd_warshall",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3237,
          "problem_letter": "PC",
          "problem_id": 26173,
          "problem_name": "Cup Covering",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3238,
      "contest_name": "CERC 2022",
      "contest_full_name": "CERC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 3238,
          "problem_letter": "A",
          "problem_id": 26186,
          "problem_name": "Bandits",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "centroid",
            "centroid decomposition",
            "data structures",
            "divide and conquer",
            "segment tree",
            "tree"
          ],
          "tag_keys": [
            "centroid",
            "centroid_decomposition",
            "data_structures",
            "divide_and_conquer",
            "segtree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "B",
          "problem_id": 26187,
          "problem_name": "Combination Locks",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "game theory",
            "bipartite matching"
          ],
          "tag_keys": [
            "game_theory",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "C",
          "problem_id": 26188,
          "problem_name": "Constellations",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "set / map",
            "simulation",
            "set / map by trees",
            "priority queue",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "set",
            "simulation",
            "tree_set",
            "priority_queue",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "D",
          "problem_id": 26189,
          "problem_name": "Deforestation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "E",
          "problem_id": 26190,
          "problem_name": "Denormalization",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "F",
          "problem_id": 26191,
          "problem_name": "Differences",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "randomization",
            "hashing"
          ],
          "tag_keys": [
            "randomization",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "G",
          "problem_id": 26192,
          "problem_name": "Greedy Drawers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "H",
          "problem_id": 26193,
          "problem_name": "Insertions",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bit set",
            "data structures",
            "dynamic programming",
            "dynamic programming on trees",
            "euler tour technique",
            "knuth–morris–pratt",
            "segment tree with lazy propagation",
            "segment tree",
            "string",
            "tree"
          ],
          "tag_keys": [
            "bitset",
            "data_structures",
            "dp",
            "dp_tree",
            "euler_tour_technique",
            "kmp",
            "lazyprop",
            "segtree",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "I",
          "problem_id": 26194,
          "problem_name": "Money Laundering",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "graph theory",
            "simulation",
            "directed acyclic graph",
            "linear algebra",
            "topological sorting",
            "strongly connected component",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "graphs",
            "simulation",
            "dag",
            "linear_algebra",
            "topological_sorting",
            "scc",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "J",
          "problem_id": 26195,
          "problem_name": "Mortgage",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "convex hull trick",
            "convex hull",
            "data structures",
            "geometry",
            "prefix sum",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "cht",
            "convex_hull",
            "data_structures",
            "geometry",
            "prefix_sum",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "K",
          "problem_id": 26196,
          "problem_name": "Skills in Pills",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "L",
          "problem_id": 26197,
          "problem_name": "The Game",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "X",
          "problem_id": 26198,
          "problem_name": "Chronogram",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "Y",
          "problem_id": 26199,
          "problem_name": "Permutations",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 3238,
          "problem_letter": "Z",
          "problem_id": 26200,
          "problem_name": "Sokoban",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "0-1 bfs",
            "breadth-first search",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "0_1_bfs",
            "bfs",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3253,
      "contest_name": "Maratona de Programação da SBC 2022",
      "contest_full_name": "Maratona de Programação da SBC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 3253,
          "problem_letter": "A",
          "problem_id": 26201,
          "problem_name": "Finding Maximal Non-Trivial Monotones",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "B",
          "problem_id": 26202,
          "problem_name": "Fun with Stones",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "game theory",
            "divide and conquer",
            "probability theory",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "sprague–grundy theorem",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "game_theory",
            "divide_and_conquer",
            "probability",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "sprague_grundy",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "C",
          "problem_id": 26203,
          "problem_name": "Cutting with Lasers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "D",
          "problem_id": 26204,
          "problem_name": "Displacing Particles",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "E",
          "problem_id": 26205,
          "problem_name": "Eliminating Ballons",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "F",
          "problem_id": 26206,
          "problem_name": "Multidimensional Hangman",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "bruteforcing",
            "data structures",
            "set / map by hashing",
            "implementation",
            "set / map"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "hash_set",
            "implementation",
            "set"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "G",
          "problem_id": 26207,
          "problem_name": "Geometry of Triangles",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3253,
          "problem_letter": "H",
          "problem_id": 26208,
          "problem_name": "Helping the Transit",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "graph traversal",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "I",
          "problem_id": 26209,
          "problem_name": "Intercepting Information",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "J",
          "problem_id": 26210,
          "problem_name": "Playing 23",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "K",
          "problem_id": 26211,
          "problem_name": "Kalel, the Jumping Frog",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3253,
          "problem_letter": "L",
          "problem_id": 26212,
          "problem_name": "Listing Tedious Paths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "graph theory",
            "smaller to larger technique",
            "tree",
            "tree compression"
          ],
          "tag_keys": [
            "graphs",
            "smaller_to_larger",
            "trees",
            "tree_compression"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_compression",
              "name": "tree compression",
              "boj_tag_id": 193
            }
          ]
        },
        {
          "contest_id": 3253,
          "problem_letter": "M",
          "problem_id": 26213,
          "problem_name": "Hopscotch Marathon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3253,
          "problem_letter": "N",
          "problem_id": 26214,
          "problem_name": "Numbers on both Sides",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3261,
      "contest_name": "Northern Eurasia Finals 2022",
      "contest_full_name": "Northern Eurasia Finals 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3261,
          "problem_letter": "A",
          "problem_id": 26281,
          "problem_name": "Amazing Trick",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive",
            "randomization"
          ],
          "tag_keys": [
            "constructive",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "B",
          "problem_id": 26282,
          "problem_name": "BinCoin",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "tree",
            "probability theory",
            "hashing",
            "randomization"
          ],
          "tag_keys": [
            "math",
            "trees",
            "probability",
            "hashing",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "C",
          "problem_id": 26283,
          "problem_name": "Cactus Meets Torus",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3261,
          "problem_letter": "D",
          "problem_id": 26284,
          "problem_name": "Dominoes",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "E",
          "problem_id": 26285,
          "problem_name": "Easy Assembly",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "set / map",
            "set / map by hashing",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "set",
            "hash_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "F",
          "problem_id": 26286,
          "problem_name": "Football",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "G",
          "problem_id": 26287,
          "problem_name": "Game of Questions",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "sum over subsets dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "dp_sum_over_subsets",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "H",
          "problem_id": 26288,
          "problem_name": "Hot and Cold",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "I",
          "problem_id": 26289,
          "problem_name": "Interactive Factorial Guessing",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "tree",
            "arbitrary precision / big integers",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "trees",
            "arbitrary_precision",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "J",
          "problem_id": 26290,
          "problem_name": "Jumbled Trees",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "constructive",
            "biconnected component"
          ],
          "tag_keys": [
            "graphs",
            "constructive",
            "bcc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "K",
          "problem_id": 26291,
          "problem_name": "King's Puzzle",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3261,
          "problem_letter": "L",
          "problem_id": 26292,
          "problem_name": "Lisa's Sequences",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3263,
      "contest_name": "CPC 2022",
      "contest_full_name": "CPC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3263,
          "problem_letter": "A",
          "problem_id": 26293,
          "problem_name": "Avangardni Autocorrect",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "breadth-first search",
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "bfs",
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "B",
          "problem_id": 26294,
          "problem_name": "Brutalna Birtija",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "C",
          "problem_id": 26295,
          "problem_name": "Cirkularni Cirkus",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "D",
          "problem_id": 26296,
          "problem_name": "Dihotomna Dioba",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "disjoint set",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "disjoint_set",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "E",
          "problem_id": 26297,
          "problem_name": "Egzotična Elegancija",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3263,
          "problem_letter": "F",
          "problem_id": 26298,
          "problem_name": "Famozni Faraon",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3263,
          "problem_letter": "G",
          "problem_id": 26299,
          "problem_name": "Glomazna Gužva",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "value / coordinate compression",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "coordinate_compression",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "H",
          "problem_id": 26300,
          "problem_name": "Hrabro Hvalisanje",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3263,
          "problem_letter": "I",
          "problem_id": 26301,
          "problem_name": "Inteligentna Igra",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "J",
          "problem_id": 26302,
          "problem_name": "Japanski Junak",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "K",
          "problem_id": 26303,
          "problem_name": "Komični Kvadrat",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "bitmask",
            "priority queue",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "bitmask",
            "priority_queue",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 3263,
          "problem_letter": "L",
          "problem_id": 26304,
          "problem_name": "Letargični Lumen",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3264,
      "contest_name": "TOPC 2022",
      "contest_full_name": "TOPC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 3264,
          "problem_letter": "A",
          "problem_id": 26305,
          "problem_name": "AibohphobiA",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "directed acyclic graph",
            "dynamic programming",
            "graph theory",
            "strongly connected component",
            "topological sorting"
          ],
          "tag_keys": [
            "ad_hoc",
            "dag",
            "dp",
            "graphs",
            "scc",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "B",
          "problem_id": 26306,
          "problem_name": "Balanced Seesaw Array",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "C",
          "problem_id": 26307,
          "problem_name": "Correct",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "D",
          "problem_id": 26308,
          "problem_name": "Distance and Tree",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "ad-hoc",
            "segment tree",
            "constructive",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "ad_hoc",
            "segtree",
            "constructive",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "E",
          "problem_id": 26309,
          "problem_name": "Etched Emerald Orbs",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking",
            "primality test",
            "parity",
            "prime factorization",
            "pollard rho",
            "miller–rabin"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking",
            "primality_test",
            "parity",
            "prime_factorization",
            "pollard_rho",
            "miller_rabin"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "pollard_rho",
              "name": "pollard rho",
              "boj_tag_id": 58
            },
            {
              "key": "miller_rabin",
              "name": "miller–rabin",
              "boj_tag_id": 47
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "F",
          "problem_id": 26310,
          "problem_name": "Finalists",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "G",
          "problem_id": 26311,
          "problem_name": "Geekflix",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "H",
          "problem_id": 26312,
          "problem_name": "Heximal",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "binary search",
            "exponentiation by squaring",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "exponentiation_by_squaring",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 3264,
          "problem_letter": "I",
          "problem_id": 26313,
          "problem_name": "Invitation",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "combinatorics",
            "fast fourier transform",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "fft",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3288,
      "contest_name": "1999 Japan Domestic Contest",
      "contest_full_name": "1999 Japan Domestic Contest",
      "contest_year": 1999,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 5,
      "problems": [
        {
          "contest_id": 3288,
          "problem_letter": "A",
          "problem_id": 26440,
          "problem_name": "Where's Your Robot?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3288,
          "problem_letter": "B",
          "problem_id": 26441,
          "problem_name": "Unable Count",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3288,
          "problem_letter": "C",
          "problem_id": 26442,
          "problem_name": "Factorization of Quadratic Formula",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3288,
          "problem_letter": "D",
          "problem_id": 26443,
          "problem_name": "Spiral Footrace",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3288,
          "problem_letter": "E",
          "problem_id": 26444,
          "problem_name": "A Long Ride on a Railway",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3289,
      "contest_name": "1998 Japan Domestic Contest",
      "contest_full_name": "1998 Japan Domestic Contest",
      "contest_year": 1998,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 4,
      "problems": [
        {
          "contest_id": 3289,
          "problem_letter": "1",
          "problem_id": 26445,
          "problem_name": "Area of Polygons",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3289,
          "problem_letter": "2",
          "problem_id": 26446,
          "problem_name": "A Simple Offline Text Editor",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3289,
          "problem_letter": "3",
          "problem_id": 26447,
          "problem_name": "Calculation of Expressions",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3289,
          "problem_letter": "4",
          "problem_id": 26448,
          "problem_name": "Board Arrangements for Concentration Games",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3347,
      "contest_name": "The 2021 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2021 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 3347,
          "problem_letter": "A",
          "problem_id": 26850,
          "problem_name": "XOR Pairs",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "B",
          "problem_id": 26851,
          "problem_name": "Bicycle Tour",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "segment tree",
            "disjoint set",
            "segment tree with lazy propagation",
            "minimum spanning tree",
            "lowest common ancestor",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "segtree",
            "disjoint_set",
            "lazyprop",
            "mst",
            "lca",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "C",
          "problem_id": 26852,
          "problem_name": "Energy Generation",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "D",
          "problem_id": 26853,
          "problem_name": "Uniform Maker",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "E",
          "problem_id": 26854,
          "problem_name": "Concerto de Pandemic",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "binary search",
            "data structures",
            "parametric search",
            "sparse table"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "parametric_search",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "F",
          "problem_id": 26855,
          "problem_name": "Not One",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "graph theory",
            "data structures",
            "graph traversal",
            "tree",
            "number theory",
            "depth-first search",
            "disjoint set",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "data_structures",
            "graph_traversal",
            "trees",
            "number_theory",
            "dfs",
            "disjoint_set",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "G",
          "problem_id": 26856,
          "problem_name": "Greedy Knapsack",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "H",
          "problem_id": 26857,
          "problem_name": "Cell Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive",
            "dynamic programming",
            "game theory",
            "knapsack"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "dp",
            "game_theory",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "I",
          "problem_id": 26858,
          "problem_name": "Stable Planetary System",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "divide and conquer",
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "J",
          "problem_id": 26859,
          "problem_name": "Feeder Robot",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3347,
          "problem_letter": "K",
          "problem_id": 26860,
          "problem_name": "White-Black Tree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "tree",
            "game theory",
            "parity",
            "finding invariants"
          ],
          "tag_keys": [
            "ad_hoc",
            "trees",
            "game_theory",
            "parity",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "L",
          "problem_id": 26861,
          "problem_name": "Happy Travelling",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree",
            "square root decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "M",
          "problem_id": 26862,
          "problem_name": "Maxdifficent Group",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "PA",
          "problem_id": 26849,
          "problem_name": "Non Classical Problem",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "PB",
          "problem_id": 19155,
          "problem_name": "Copying Homework",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "PC",
          "problem_id": 20690,
          "problem_name": "Exchange Bottleneck",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3347,
          "problem_letter": "PD",
          "problem_id": 20696,
          "problem_name": "Tree Beauty",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "segment tree",
            "depth-first search",
            "segment tree with lazy propagation",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "segtree",
            "dfs",
            "lazyprop",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3348,
      "contest_name": "ICPC 2022-2023 North-Western Russia Regional Contest",
      "contest_full_name": "ICPC 2022-2023 North-Western Russia Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 3348,
          "problem_letter": "A",
          "problem_id": 26863,
          "problem_name": "Absolutely Flat",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "B",
          "problem_id": 26864,
          "problem_name": "Bricks in the Wall",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "C",
          "problem_id": 26865,
          "problem_name": "Computer Network",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "D",
          "problem_id": 26866,
          "problem_name": "Dice Grid",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "E",
          "problem_id": 26867,
          "problem_name": "Easily Distinguishable Triangles",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "F",
          "problem_id": 26868,
          "problem_name": "Focusing on Costs",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "G",
          "problem_id": 26869,
          "problem_name": "Greatest Common Divisor",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "precomputation"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "H",
          "problem_id": 26870,
          "problem_name": "Hidden Digits",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "breadth-first search",
            "constructive",
            "graph theory",
            "graph traversal",
            "recursion"
          ],
          "tag_keys": [
            "bfs",
            "constructive",
            "graphs",
            "graph_traversal",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "I",
          "problem_id": 26871,
          "problem_name": "IQ Game",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "J",
          "problem_id": 26872,
          "problem_name": "Joking?",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive",
            "precomputation",
            "heuristics"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "precomputation",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "K",
          "problem_id": 26873,
          "problem_name": "K-Shaped Figures",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "bruteforcing",
            "sorting",
            "geometry",
            "combinatorics",
            "angle sorting"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "sorting",
            "geometry",
            "combinatorics",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "L",
          "problem_id": 26874,
          "problem_name": "Limited Swaps",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "M",
          "problem_id": 26875,
          "problem_name": "Mex and Cards",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 3348,
          "problem_letter": "N",
          "problem_id": 26876,
          "problem_name": "New Time",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3475,
      "contest_name": "ICPC North America Qualifier 2022",
      "contest_full_name": "ICPC North America Qualifier 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3475,
          "problem_letter": "A",
          "problem_id": 27384,
          "problem_name": "Beast Bullies",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "sorting",
            "game theory"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "B",
          "problem_id": 27385,
          "problem_name": "Birthday Gift",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "exponentiation by squaring",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "dp",
            "exponentiation_by_squaring",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "C",
          "problem_id": 27386,
          "problem_name": "Class Field Trip",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "D",
          "problem_id": 27387,
          "problem_name": "Ghost Leg",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "E",
          "problem_id": 27388,
          "problem_name": "MazeMan",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "F",
          "problem_id": 27389,
          "problem_name": "Metronome",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "G",
          "problem_id": 27390,
          "problem_name": "Movie Night",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "tree",
            "dynamic programming on trees",
            "strongly connected component"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "trees",
            "dp_tree",
            "scc"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "H",
          "problem_id": 27391,
          "problem_name": "Platform Placing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "J",
          "problem_id": 27392,
          "problem_name": "Room Evacuation",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "K",
          "problem_id": 27393,
          "problem_name": "Smallest Calculated Value",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "L",
          "problem_id": 27394,
          "problem_name": "Spidey Distance",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3475,
          "problem_letter": "M",
          "problem_id": 27395,
          "problem_name": "Toll Roads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "binary search",
            "disjoint set",
            "offline queries",
            "minimum spanning tree",
            "lowest common ancestor",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "binary_search",
            "disjoint_set",
            "offline_queries",
            "mst",
            "lca",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3481,
      "contest_name": "ICPC 2022 Asia Yokohama Regional",
      "contest_full_name": "ICPC 2022 Asia Yokohama Regional",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3481,
          "problem_letter": "A",
          "problem_id": 27416,
          "problem_name": "Hasty Santa Claus",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "B",
          "problem_id": 27417,
          "problem_name": "Interactive Number Guessing",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "C",
          "problem_id": 27418,
          "problem_name": "Secure the Top Secret",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "maximum flow",
            "graph theory",
            "implementation",
            "planar graph"
          ],
          "tag_keys": [
            "flow",
            "graphs",
            "implementation",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "D",
          "problem_id": 27419,
          "problem_name": "Move One Coin",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "E",
          "problem_id": 27420,
          "problem_name": "Incredibly Cute Penguin Chicks",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "dynamic programming",
            "prefix sum",
            "segment tree"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "dp",
            "prefix_sum",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "F",
          "problem_id": 27421,
          "problem_name": "Make a Loop",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "G",
          "problem_id": 27422,
          "problem_name": "Remodeling the Dungeon",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "H",
          "problem_id": 27423,
          "problem_name": "Cake Decoration",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "mathematics"
          ],
          "tag_keys": [
            "binary_search",
            "math"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "I",
          "problem_id": 27424,
          "problem_name": "Quiz Contest",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "combinatorics",
            "divide and conquer",
            "fast fourier transform",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "divide_and_conquer",
            "fft",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "J",
          "problem_id": 27425,
          "problem_name": "Traveling Salesperson in an Island",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "geometry",
            "shortest path",
            "floyd–warshall",
            "line segment intersection check",
            "point in non-convex polygon check"
          ],
          "tag_keys": [
            "graphs",
            "geometry",
            "shortest_path",
            "floyd_warshall",
            "line_intersection",
            "point_in_non_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            }
          ]
        },
        {
          "contest_id": 3481,
          "problem_letter": "K",
          "problem_id": 27426,
          "problem_name": "New Year Festival",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3506,
      "contest_name": "Division 1",
      "contest_full_name": "2022 Mid-Atlantic USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2022 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3506,
          "problem_letter": "A",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "B",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "C",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "D",
          "problem_id": 27572,
          "problem_name": "Counting Satellites",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "E",
          "problem_id": 27578,
          "problem_name": "Exponent Exchange",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "F",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "G",
          "problem_id": 27576,
          "problem_name": "Eroding Pillars",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "articulation points and bridges",
            "binary search",
            "graph theory"
          ],
          "tag_keys": [
            "articulation",
            "binary_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "H",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "I",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "J",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "K",
          "problem_id": 27585,
          "problem_name": "Lone Knight",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "L",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3506,
          "problem_letter": "M",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3507,
      "contest_name": "Division 1",
      "contest_full_name": "2022 South Central USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2022 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3507,
          "problem_letter": "A",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "B",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "C",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "D",
          "problem_id": 27572,
          "problem_name": "Counting Satellites",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "E",
          "problem_id": 27578,
          "problem_name": "Exponent Exchange",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "F",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "G",
          "problem_id": 27576,
          "problem_name": "Eroding Pillars",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "articulation points and bridges",
            "binary search",
            "graph theory"
          ],
          "tag_keys": [
            "articulation",
            "binary_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "H",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "I",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "J",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "K",
          "problem_id": 27585,
          "problem_name": "Lone Knight",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "L",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3507,
          "problem_letter": "M",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3508,
      "contest_name": "Division 1",
      "contest_full_name": "2022 Southeast USA Regional Programming Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2022 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3508,
          "problem_letter": "A",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "B",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "C",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "D",
          "problem_id": 27572,
          "problem_name": "Counting Satellites",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "E",
          "problem_id": 27578,
          "problem_name": "Exponent Exchange",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "F",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "G",
          "problem_id": 27576,
          "problem_name": "Eroding Pillars",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "articulation points and bridges",
            "binary search",
            "graph theory"
          ],
          "tag_keys": [
            "articulation",
            "binary_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "H",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "I",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "J",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "K",
          "problem_id": 27585,
          "problem_name": "Lone Knight",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "L",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3508,
          "problem_letter": "M",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3509,
      "contest_name": "Division 2",
      "contest_full_name": "2022 Mid-Atlantic USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2022 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3509,
          "problem_letter": "A",
          "problem_id": 27566,
          "problem_name": "Blueberry Waffle",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "B",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "C",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "D",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "E",
          "problem_id": 27577,
          "problem_name": "Everything Is A Nail",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "F",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "G",
          "problem_id": 27589,
          "problem_name": "Streets Ahead",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "H",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "I",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "J",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "K",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "L",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3509,
          "problem_letter": "M",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3510,
      "contest_name": "Division 2",
      "contest_full_name": "2022 South Central USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2022 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3510,
          "problem_letter": "A",
          "problem_id": 27566,
          "problem_name": "Blueberry Waffle",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "B",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "C",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "D",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "E",
          "problem_id": 27577,
          "problem_name": "Everything Is A Nail",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "F",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "G",
          "problem_id": 27589,
          "problem_name": "Streets Ahead",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "H",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "I",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "J",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "K",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "L",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3510,
          "problem_letter": "M",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3511,
      "contest_name": "Division 2",
      "contest_full_name": "2022 Southeast USA Regional Programming Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2022 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3511,
          "problem_letter": "A",
          "problem_id": 27566,
          "problem_name": "Blueberry Waffle",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "B",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "C",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "D",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "E",
          "problem_id": 27577,
          "problem_name": "Everything Is A Nail",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "F",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "G",
          "problem_id": 27589,
          "problem_name": "Streets Ahead",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "H",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "I",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "J",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "K",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "L",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3511,
          "problem_letter": "M",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3512,
      "contest_name": "2022 Mid-Central USA Regional Contest",
      "contest_full_name": "2022 Mid-Central USA Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3512,
          "problem_letter": "A",
          "problem_id": 27566,
          "problem_name": "Blueberry Waffle",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "B",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "C",
          "problem_id": 27577,
          "problem_name": "Everything Is A Nail",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "D",
          "problem_id": 27569,
          "problem_name": "Champernowne Count",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "E",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "F",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "G",
          "problem_id": 27574,
          "problem_name": "Digits of Unity",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "combinatorics",
            "inclusion and exclusion",
            "fermat's little theorem",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "combinatorics",
            "inclusion_and_exclusion",
            "flt",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "H",
          "problem_id": 27583,
          "problem_name": "Hunt the Wumpus",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "I",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "J",
          "problem_id": 27564,
          "problem_name": "Advertising ICPC",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "K",
          "problem_id": 27567,
          "problem_name": "Bog of Eternal Stench",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bellman–ford",
            "binary search",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bellman_ford",
            "binary_search",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "L",
          "problem_id": 27584,
          "problem_name": "I Could Have Won",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3512,
          "problem_letter": "M",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3513,
      "contest_name": "2022 North Central NA Regional Contest",
      "contest_full_name": "2022 North Central NA Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 3513,
          "problem_letter": "A",
          "problem_id": 27587,
          "problem_name": "Repetitive Song",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "B",
          "problem_id": 27578,
          "problem_name": "Exponent Exchange",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "C",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "D",
          "problem_id": 27564,
          "problem_name": "Advertising ICPC",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "E",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "F",
          "problem_id": 27589,
          "problem_name": "Streets Ahead",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "G",
          "problem_id": 27588,
          "problem_name": "Restaurant Opening",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "H",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "I",
          "problem_id": 27574,
          "problem_name": "Digits of Unity",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "combinatorics",
            "inclusion and exclusion",
            "fermat's little theorem",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "combinatorics",
            "inclusion_and_exclusion",
            "flt",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 3513,
          "problem_letter": "J",
          "problem_id": 27567,
          "problem_name": "Bog of Eternal Stench",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bellman–ford",
            "binary search",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bellman_ford",
            "binary_search",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bellman_ford",
              "name": "bellman–ford",
              "boj_tag_id": 10
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3514,
      "contest_name": "Division 1",
      "contest_full_name": "2022 ICPC Pacific Northwest Region Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2022 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3514,
          "problem_letter": "A",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "B",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "C",
          "problem_id": 27569,
          "problem_name": "Champernowne Count",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "D",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "E",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "F",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "G",
          "problem_id": 27574,
          "problem_name": "Digits of Unity",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "combinatorics",
            "inclusion and exclusion",
            "fermat's little theorem",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "combinatorics",
            "inclusion_and_exclusion",
            "flt",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "H",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "I",
          "problem_id": 27572,
          "problem_name": "Counting Satellites",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "string",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "J",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "K",
          "problem_id": 27564,
          "problem_name": "Advertising ICPC",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "L",
          "problem_id": 27578,
          "problem_name": "Exponent Exchange",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3514,
          "problem_letter": "M",
          "problem_id": 27585,
          "problem_name": "Lone Knight",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "disjoint set",
            "graph theory"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3515,
      "contest_name": "Division 2",
      "contest_full_name": "2022 ICPC Pacific Northwest Region Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2022 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3515,
          "problem_letter": "A",
          "problem_id": 27591,
          "problem_name": "Three Dice",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "B",
          "problem_id": 27565,
          "problem_name": "Alchemy",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "C",
          "problem_id": 27569,
          "problem_name": "Champernowne Count",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "D",
          "problem_id": 27583,
          "problem_name": "Hunt the Wumpus",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "E",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "F",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "G",
          "problem_id": 27579,
          "problem_name": "Fading Wind",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "H",
          "problem_id": 27573,
          "problem_name": "Creative Accounting",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "I",
          "problem_id": 27584,
          "problem_name": "I Could Have Won",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "J",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "K",
          "problem_id": 27570,
          "problem_name": "Chocolate Chip Fabrication",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "L",
          "problem_id": 27575,
          "problem_name": "Distinct Parity Excess",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "prefix sum",
            "primality test",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prefix_sum",
            "primality_test",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 3515,
          "problem_letter": "M",
          "problem_id": 27588,
          "problem_name": "Restaurant Opening",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3516,
      "contest_name": "2022 Rocky Mountain Regional Contest",
      "contest_full_name": "2022 Rocky Mountain Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3516,
          "problem_letter": "A",
          "problem_id": 27566,
          "problem_name": "Blueberry Waffle",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "B",
          "problem_id": 27586,
          "problem_name": "Profitable Trip",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3516,
          "problem_letter": "C",
          "problem_id": 27569,
          "problem_name": "Champernowne Count",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "D",
          "problem_id": 27592,
          "problem_name": "Triangle Containment",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "E",
          "problem_id": 27571,
          "problem_name": "Color Tubes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "F",
          "problem_id": 27581,
          "problem_name": "Food Processor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "G",
          "problem_id": 27582,
          "problem_name": "Greedy Increasing Subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "data structures"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "H",
          "problem_id": 27568,
          "problem_name": "Branch Manager",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "I",
          "problem_id": 27584,
          "problem_name": "I Could Have Won",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation",
            "simulation",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "J",
          "problem_id": 27590,
          "problem_name": "Sun and Moon",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "K",
          "problem_id": 27577,
          "problem_name": "Everything Is A Nail",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3516,
          "problem_letter": "L",
          "problem_id": 27580,
          "problem_name": "Family Visits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3518,
      "contest_name": "SWERC 2022-2023",
      "contest_full_name": "SWERC 2022-2023",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3518,
          "problem_letter": "A",
          "problem_id": 27593,
          "problem_name": "Walking Boy",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "B",
          "problem_id": 27594,
          "problem_name": "Uniform Chemistry",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "C",
          "problem_id": 27595,
          "problem_name": "Another Wine Tasting Event",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "string",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "D",
          "problem_id": 27596,
          "problem_name": "Crossing the Railways",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "E",
          "problem_id": 27597,
          "problem_name": "Spinach Pizza",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "greedy"
          ],
          "tag_keys": [
            "geometry",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "F",
          "problem_id": 27598,
          "problem_name": "Beppa and SwerChat",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "ad-hoc",
            "two-pointer"
          ],
          "tag_keys": [
            "ad_hoc",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "G",
          "problem_id": 27599,
          "problem_name": "Parmigiana With Seafood",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "tree",
            "depth-first search",
            "game theory"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "trees",
            "dfs",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "H",
          "problem_id": 27600,
          "problem_name": "Controllers",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "I",
          "problem_id": 27601,
          "problem_name": "Library game",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "pigeonhole principle"
          ],
          "tag_keys": [
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "J",
          "problem_id": 27602,
          "problem_name": "Italian Data Centers",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path",
            "bitmask",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path",
            "bitmask",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "K",
          "problem_id": 27603,
          "problem_name": "Train Splitting",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "data structures",
            "constructive",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "constructive",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 3518,
          "problem_letter": "L",
          "problem_id": 27604,
          "problem_name": "Vittorio Plays with LEGO Bricks",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3521,
      "contest_name": "2022-2023 East Central Regional Contest",
      "contest_full_name": "2022-2023 East Central Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3521,
          "problem_letter": "A",
          "problem_id": 27609,
          "problem_name": "A-Mazing Puzzle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "B",
          "problem_id": 27610,
          "problem_name": "A Musical Question",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "C",
          "problem_id": 27611,
          "problem_name": "Cribbage On Steroids",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "implementation",
            "combinatorics",
            "knapsack"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "combinatorics",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "D",
          "problem_id": 27612,
          "problem_name": "Determining Nucleotide Assortments",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "E",
          "problem_id": 27613,
          "problem_name": "Hilbert's Hedge Maze",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "ad-hoc",
            "geometry",
            "case work",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "geometry",
            "case_work",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "F",
          "problem_id": 27614,
          "problem_name": "It's About Time",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "G",
          "problem_id": 27615,
          "problem_name": "Pea Pattern",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "H",
          "problem_id": 27616,
          "problem_name": "Picking Up Steam",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "geometry"
          ],
          "tag_keys": [
            "binary_search",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "I",
          "problem_id": 27617,
          "problem_name": "Road To Savings",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "J",
          "problem_id": 27618,
          "problem_name": "Simple Solitaire",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "K",
          "problem_id": 27619,
          "problem_name": "Two Charts Become One",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "parsing",
            "string",
            "tree"
          ],
          "tag_keys": [
            "parsing",
            "string",
            "trees"
          ],
          "tag_details": [
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3521,
          "problem_letter": "L",
          "problem_id": 27620,
          "problem_name": "Which Warehouse?",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "shortest path",
            "maximum flow",
            "floyd–warshall",
            "minimum cost maximum flow",
            "hungarian"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "flow",
            "floyd_warshall",
            "mcmf",
            "hungarian"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3522,
      "contest_name": "Division 1",
      "contest_full_name": "2021 Southeast USA Regional Programming Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2021 Southeast USA Regional Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3522,
          "problem_letter": "A",
          "problem_id": 24604,
          "problem_name": "Black and White",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "B",
          "problem_id": 24590,
          "problem_name": "Circle Bounce",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "exponentiation by squaring",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "C",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "D",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "E",
          "problem_id": 24599,
          "problem_name": "Fail Them All!",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "greedy",
            "floyd–warshall",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "floyd_warshall",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "F",
          "problem_id": 24596,
          "problem_name": "Hopscotch 500",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "G",
          "problem_id": 24591,
          "problem_name": "Shortest Missing Subsequences",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "binary_search",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "H",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "I",
          "problem_id": 24600,
          "problem_name": "Tournament Seeding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "J",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3522,
          "problem_letter": "K",
          "problem_id": 24592,
          "problem_name": "XOR Island",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3523,
      "contest_name": "Division 2",
      "contest_full_name": "2021 Southeast USA Regional Programming Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2021 Southeast USA Regional Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3523,
          "problem_letter": "A",
          "problem_id": 24608,
          "problem_name": "Average Character",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "B",
          "problem_id": 24604,
          "problem_name": "Black and White",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bitmask",
            "probability theory",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bitmask",
            "probability",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "C",
          "problem_id": 24598,
          "problem_name": "Diagonals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "backtracking",
            "dynamic programming",
            "dynamic programming using connection profile"
          ],
          "tag_keys": [
            "backtracking",
            "dp",
            "dp_connection_profile"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_connection_profile",
              "name": "dynamic programming using connection profile",
              "boj_tag_id": 107
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "D",
          "problem_id": 24601,
          "problem_name": "Dorm Room Divide",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "E",
          "problem_id": 24606,
          "problem_name": "Double Password",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "F",
          "problem_id": 24609,
          "problem_name": "Overdraft",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "G",
          "problem_id": 24595,
          "problem_name": "Rise and Fall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "H",
          "problem_id": 24607,
          "problem_name": "Square Bounce",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "number theory",
            "simulation",
            "case work",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "number_theory",
            "simulation",
            "case_work",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "I",
          "problem_id": 24605,
          "problem_name": "Tetris Generation",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "J",
          "problem_id": 24600,
          "problem_name": "Tournament Seeding",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "K",
          "problem_id": 24602,
          "problem_name": "Tree Hopping",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "trees",
            "lca"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3523,
          "problem_letter": "L",
          "problem_id": 24610,
          "problem_name": "Who Goes There?",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3524,
      "contest_name": "INC 2021",
      "contest_full_name": "INC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 3524,
          "problem_letter": "A",
          "problem_id": 27622,
          "problem_name": "Suspicious Event",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "B",
          "problem_id": 27623,
          "problem_name": "Wooden Fence",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "C",
          "problem_id": 27624,
          "problem_name": "Card Game",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "game theory",
            "precomputation",
            "sprague–grundy theorem",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "dp",
            "game_theory",
            "precomputation",
            "sprague_grundy",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "D",
          "problem_id": 27625,
          "problem_name": "Forming a Team",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3524,
          "problem_letter": "E",
          "problem_id": 27626,
          "problem_name": "Quests from the Queen",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bitmask",
            "convex hull trick",
            "dijkstra's",
            "dynamic programming",
            "dynamic programming using bitfield",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "bitmask",
            "cht",
            "dijkstra",
            "dp",
            "dp_bitfield",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "F",
          "problem_id": 27627,
          "problem_name": "Splitology",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "G",
          "problem_id": 27628,
          "problem_name": "Treasure Hunter",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "binary search",
            "bipartite matching",
            "maximum flow",
            "graph theory",
            "graph traversal",
            "minimum cost maximum flow",
            "strongly connected component"
          ],
          "tag_keys": [
            "binary_search",
            "bipartite_matching",
            "flow",
            "graphs",
            "graph_traversal",
            "mcmf",
            "scc"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "H",
          "problem_id": 27629,
          "problem_name": "Convex Hull",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull",
            "geometry",
            "sorting"
          ],
          "tag_keys": [
            "convex_hull",
            "geometry",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "I",
          "problem_id": 27630,
          "problem_name": "Unique Ability",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "J",
          "problem_id": 27631,
          "problem_name": "Sum Mod Pair of A",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "exponentiation by squaring",
            "fast fourier transform",
            "fermat's little theorem",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "exponentiation_by_squaring",
            "fft",
            "flt",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "K",
          "problem_id": 27632,
          "problem_name": "Yet Another Sequence Related Problem",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3524,
          "problem_letter": "L",
          "problem_id": 27633,
          "problem_name": "Concealed Domino",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "M",
          "problem_id": 27634,
          "problem_name": "Tennis Game",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "PA",
          "problem_id": 21030,
          "problem_name": "Frequent Alphabet",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string"
          ],
          "tag_keys": [
            "string"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "PB",
          "problem_id": 21009,
          "problem_name": "Visible Trees",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "PC",
          "problem_id": 27621,
          "problem_name": "Sum of Three Cubes",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 3524,
          "problem_letter": "PD",
          "problem_id": 21026,
          "problem_name": "Shortsighted",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3555,
      "contest_name": "2022 Greater New York Programming Contest",
      "contest_full_name": "2022 Greater New York Programming Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 3555,
          "problem_letter": "A",
          "problem_id": 27855,
          "problem_name": "Cornhole",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3555,
          "problem_letter": "B",
          "problem_id": 27856,
          "problem_name": "Sum of Remainders",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3555,
          "problem_letter": "C",
          "problem_id": 27857,
          "problem_name": "Quotdoku",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3555,
          "problem_letter": "D",
          "problem_id": 27858,
          "problem_name": "Counting Pythagorean Triples",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3555,
          "problem_letter": "E",
          "problem_id": 27859,
          "problem_name": "Clarissa’s Conical Cannolis",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3555,
          "problem_letter": "F",
          "problem_id": 27860,
          "problem_name": "Busy As a Bee",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3555,
          "problem_letter": "G",
          "problem_id": 27861,
          "problem_name": "Linked Triangles",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 3555,
          "problem_letter": "H",
          "problem_id": 27862,
          "problem_name": "You You See What?",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "string",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3555,
          "problem_letter": "I",
          "problem_id": 27863,
          "problem_name": "Caravan Trip Plans",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3555,
          "problem_letter": "J",
          "problem_id": 27864,
          "problem_name": "PSET",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3579,
      "contest_name": "Latin America Regional Contests 2022",
      "contest_full_name": "Latin America Regional Contests 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3579,
          "problem_letter": "A",
          "problem_id": 28040,
          "problem_name": "Asking for Money",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "B",
          "problem_id": 28041,
          "problem_name": "Board Game",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "convex hull trick",
            "parallel binary search",
            "li–chao tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "cht",
            "pbs",
            "li_chao_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "pbs",
              "name": "parallel binary search",
              "boj_tag_id": 54
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "C",
          "problem_id": 28042,
          "problem_name": "City Folding",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "D",
          "problem_id": 28043,
          "problem_name": "Daily Trips",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "E",
          "problem_id": 28044,
          "problem_name": "Empty Squares",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "case work",
            "knapsack"
          ],
          "tag_keys": [
            "greedy",
            "case_work",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "F",
          "problem_id": 28045,
          "problem_name": "Favorite Tree",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees",
            "bipartite matching"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "G",
          "problem_id": 28046,
          "problem_name": "Gravitational Wave Detector",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "convex hull",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "H",
          "problem_id": 28047,
          "problem_name": "Horse Race",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "constructive",
            "bipartite matching"
          ],
          "tag_keys": [
            "greedy",
            "constructive",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "I",
          "problem_id": 28048,
          "problem_name": "Italian Calzone & Pasta Corner",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "breadth-first search",
            "priority queue"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "bfs",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "J",
          "problem_id": 28049,
          "problem_name": "Joining a Marathon",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "geometry",
            "offline queries",
            "difference array"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "offline_queries",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "K",
          "problem_id": 28050,
          "problem_name": "Kind Baker",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "constructive",
            "bitmask"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "L",
          "problem_id": 28051,
          "problem_name": "Lazy Printing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy",
            "string",
            "binary search",
            "hashing",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "binary_search",
            "hashing",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 3579,
          "problem_letter": "M",
          "problem_id": 28052,
          "problem_name": "Maze in Bolt",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3594,
      "contest_name": "North America Championship 2023",
      "contest_full_name": "North America Championship 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3594,
          "problem_letter": "A",
          "problem_id": 28144,
          "problem_name": "Allergen Testing",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "B",
          "problem_id": 28145,
          "problem_name": "A Tree and Two Edges",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "bruteforcing",
            "ad-hoc",
            "tree",
            "case work",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "ad_hoc",
            "trees",
            "case_work",
            "lca"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "C",
          "problem_id": 28146,
          "problem_name": "Broken Minimum Spanning Tree",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "greedy",
            "sorting",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "sorting",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "D",
          "problem_id": 28147,
          "problem_name": "Fail Fast",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "greedy",
            "tree",
            "disjoint set",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "trees",
            "disjoint_set",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "E",
          "problem_id": 28148,
          "problem_name": "First Last",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "ad-hoc",
            "bruteforcing",
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "bruteforcing",
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "F",
          "problem_id": 28149,
          "problem_name": "Four Square",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "G",
          "problem_id": 28150,
          "problem_name": "Frequent Flier",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "H",
          "problem_id": 28151,
          "problem_name": "Game Show Elimination",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3594,
          "problem_letter": "I",
          "problem_id": 28152,
          "problem_name": "Power of Divisors",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "J",
          "problem_id": 28153,
          "problem_name": "Repetitive String Invention",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "string",
            "prefix sum",
            "hashing"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "K",
          "problem_id": 28154,
          "problem_name": "Space Alignment",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "L",
          "problem_id": 28155,
          "problem_name": "Splitting Pairs",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3594,
          "problem_letter": "M",
          "problem_id": 28156,
          "problem_name": "Who Watches the Watchmen?",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "case work",
            "maximum flow",
            "geometry",
            "geometry; 3d",
            "hungarian",
            "implementation",
            "mathematics",
            "minimum cost maximum flow",
            "prefix sum",
            "sorting",
            "graph theory"
          ],
          "tag_keys": [
            "case_work",
            "flow",
            "geometry",
            "geometry_3d",
            "hungarian",
            "implementation",
            "math",
            "mcmf",
            "prefix_sum",
            "sorting",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3597,
      "contest_name": "2023 ICPC Hong Kong Regional",
      "contest_full_name": "2023 ICPC Hong Kong Regional",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia East Continent > Hong Kong",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3597,
          "problem_letter": "A",
          "problem_id": 28166,
          "problem_name": "TreeScript",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "B",
          "problem_id": 28167,
          "problem_name": "Big Picture",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "combinatorics",
            "linearity of expectation",
            "mathematics",
            "prefix sum",
            "probability theory"
          ],
          "tag_keys": [
            "combinatorics",
            "linearity_of_expectation",
            "math",
            "prefix_sum",
            "probability"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "C",
          "problem_id": 28168,
          "problem_name": "Painting Grid",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive",
            "case work",
            "bitmask"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "case_work",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "D",
          "problem_id": 28169,
          "problem_name": "Shortest Path Query",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull",
            "directed acyclic graph",
            "dynamic programming",
            "geometry",
            "graph theory",
            "topological sorting"
          ],
          "tag_keys": [
            "convex_hull",
            "dag",
            "dp",
            "geometry",
            "graphs",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "E",
          "problem_id": 28170,
          "problem_name": "Goose, Goose, DUCK?",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "F",
          "problem_id": 28171,
          "problem_name": "Sum of Numbers",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "arbitrary precision / big integers",
            "backtracking",
            "dynamic programming"
          ],
          "tag_keys": [
            "arbitrary_precision",
            "backtracking",
            "dp"
          ],
          "tag_details": [
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "G",
          "problem_id": 28172,
          "problem_name": "Paddle Star",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "H",
          "problem_id": 28173,
          "problem_name": "Another Goose Goose Duck Problem",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "I",
          "problem_id": 28174,
          "problem_name": "Range Closest Pair of Points Query",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3597,
          "problem_letter": "J",
          "problem_id": 28175,
          "problem_name": "Dice Game",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3597,
          "problem_letter": "K",
          "problem_id": 28176,
          "problem_name": "Maximum GCD",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3597,
          "problem_letter": "L",
          "problem_id": 28177,
          "problem_name": "Permutation Compression",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "binary search",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "binary_search",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3607,
      "contest_name": "2022 ICPC Asia Tehran Regional Contest",
      "contest_full_name": "2022 ICPC Asia Tehran Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 3607,
          "problem_letter": "A",
          "problem_id": 28224,
          "problem_name": "Final Price",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "B",
          "problem_id": 28225,
          "problem_name": "Flower Festival",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "C",
          "problem_id": 28226,
          "problem_name": "Simplification",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "D",
          "problem_id": 28227,
          "problem_name": "Dominoes",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "geometry",
            "stack",
            "calculus",
            "boolean operations on geometric objects"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "geometry",
            "stack",
            "calculus",
            "geometric_boolean_operations"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "E",
          "problem_id": 28228,
          "problem_name": "Parking Party",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "F",
          "problem_id": 28229,
          "problem_name": "Ammunition Storage",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "stack",
            "multidimensional segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "stack",
            "multi_segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "multi_segtree",
              "name": "multidimensional segment tree",
              "boj_tag_id": 166
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "G",
          "problem_id": 28230,
          "problem_name": "Laboratory Report",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3607,
          "problem_letter": "H",
          "problem_id": 28231,
          "problem_name": "Network Topology in Hezardastan",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3607,
          "problem_letter": "I",
          "problem_id": 28232,
          "problem_name": "Windcatchers",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "implementation",
            "geometry",
            "sweeping",
            "bulldozer trick"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "sweeping",
            "bulldozer"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "bulldozer",
              "name": "bulldozer trick",
              "boj_tag_id": 238
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "J",
          "problem_id": 28233,
          "problem_name": "Magic with Cards",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "shortest path"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3607,
          "problem_letter": "K",
          "problem_id": 28234,
          "problem_name": "Iranian Hazfi Cup",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3625,
      "contest_name": "GCPC 2023",
      "contest_full_name": "GCPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3625,
          "problem_letter": "A",
          "problem_id": 28369,
          "problem_name": "Adolescent Architecture 2",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "parametric search",
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "geometry",
            "parametric_search",
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "B",
          "problem_id": 28370,
          "problem_name": "Balloon Darts",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "randomization",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "geometry",
            "randomization",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "C",
          "problem_id": 28371,
          "problem_name": "Cosmic Commute",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "D",
          "problem_id": 28372,
          "problem_name": "DnD Dice",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "E",
          "problem_id": 28373,
          "problem_name": "Eszett",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "F",
          "problem_id": 28374,
          "problem_name": "Freestyle Masonry",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "G",
          "problem_id": 28375,
          "problem_name": "German Conference for Public Counting",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "H",
          "problem_id": 28376,
          "problem_name": "Highway Combinatorics",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "randomization",
            "modular multiplicative inverse",
            "meet in the middle",
            "birthday problem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "randomization",
            "modular_multiplicative_inverse",
            "mitm",
            "birthday"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            },
            {
              "key": "birthday",
              "name": "birthday problem",
              "boj_tag_id": 203
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "I",
          "problem_id": 28377,
          "problem_name": "Investigating Frog Behaviour on Lily Pad Patterns",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "J",
          "problem_id": 28378,
          "problem_name": "Japanese Lottery",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "K",
          "problem_id": 28379,
          "problem_name": "Kaldorian Knights",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "L",
          "problem_id": 28380,
          "problem_name": "Loop Invariant",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3625,
          "problem_letter": "M",
          "problem_id": 28381,
          "problem_name": "Mischievous Math",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "constructive",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "constructive",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3854,
      "contest_name": "2023 Japan Domestic Contest",
      "contest_full_name": "2023 Japan Domestic Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 3854,
          "problem_letter": "A",
          "problem_id": 29684,
          "problem_name": "Which Team Should Receive the Sponsor Prize?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3854,
          "problem_letter": "B",
          "problem_id": 29706,
          "problem_name": "Amidakuji",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3854,
          "problem_letter": "C",
          "problem_id": 29707,
          "problem_name": "Changing the Sitting Arrangement",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 3854,
          "problem_letter": "D",
          "problem_id": 29708,
          "problem_name": "Efficient Problem Set",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "bitmask",
            "backtracking",
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "bitmask",
            "backtracking",
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 3854,
          "problem_letter": "E",
          "problem_id": 29709,
          "problem_name": "Tampered Records",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3854,
          "problem_letter": "F",
          "problem_id": 29710,
          "problem_name": "Villa of Emblem Shape",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 3854,
          "problem_letter": "G",
          "problem_id": 29711,
          "problem_name": "Fair Deal of Dice",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "probability theory",
            "knapsack"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "probability",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3854,
          "problem_letter": "H",
          "problem_id": 29712,
          "problem_name": "Planning Locations of Bus Stops",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3902,
      "contest_name": "Maratona de Programação da SBC 2023",
      "contest_full_name": "Maratona de Programação da SBC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3902,
          "problem_letter": "A",
          "problem_id": 29986,
          "problem_name": "Amusement Park Adventure",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "B",
          "problem_id": 29987,
          "problem_name": "Best Fair Shuffles",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "C",
          "problem_id": 29988,
          "problem_name": "Challenging Hike",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "lis"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "D",
          "problem_id": 29989,
          "problem_name": "Detour",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dijkstra's",
            "divide and conquer",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "divide_and_conquer",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "E",
          "problem_id": 29990,
          "problem_name": "Extracting Pollen",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sweeping"
          ],
          "tag_keys": [
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "F",
          "problem_id": 29991,
          "problem_name": "Fatigue-Fighting Vacation",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "G",
          "problem_id": 29992,
          "problem_name": "Great Treaty of Byteland",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "H",
          "problem_id": 29993,
          "problem_name": "Honest Worker",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "value / coordinate compression",
            "data structures",
            "dynamic programming",
            "greedy",
            "priority queue",
            "segment tree",
            "sorting"
          ],
          "tag_keys": [
            "coordinate_compression",
            "data_structures",
            "dp",
            "greedy",
            "priority_queue",
            "segtree",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "I",
          "problem_id": 29994,
          "problem_name": "Investigating Zeroes and Ones",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "J",
          "problem_id": 29995,
          "problem_name": "Jumping to Victory",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "delaunay triangulation",
            "geometry",
            "voronoi diagram"
          ],
          "tag_keys": [
            "delaunay",
            "geometry",
            "voronoi"
          ],
          "tag_details": [
            {
              "key": "delaunay",
              "name": "delaunay triangulation",
              "boj_tag_id": 21
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "voronoi",
              "name": "voronoi diagram",
              "boj_tag_id": 82
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "K",
          "problem_id": 29996,
          "problem_name": "K for More, K for Less",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "L",
          "problem_id": 29997,
          "problem_name": "Lexicographical Challenge",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3902,
          "problem_letter": "M",
          "problem_id": 29998,
          "problem_name": "Maximizing Flight Efficiency",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "shortest path",
            "floyd–warshall"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "floyd_warshall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "floyd_warshall",
              "name": "floyd–warshall",
              "boj_tag_id": 31
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3931,
      "contest_name": "The 2008 Asia Amritapuri Contest",
      "contest_full_name": "The 2008 Asia Amritapuri Contest",
      "contest_year": 2008,
      "contest_path": "ICPC > Regionals > Asia West Continent > India",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 3931,
          "problem_letter": "A",
          "problem_id": 30129,
          "problem_name": "Blocks for kids",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3931,
          "problem_letter": "B",
          "problem_id": 30130,
          "problem_name": "Paper Presentation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3931,
          "problem_letter": "C",
          "problem_id": 30131,
          "problem_name": "Gold Digging",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3931,
          "problem_letter": "D",
          "problem_id": 30132,
          "problem_name": "Minesweeper",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 3931,
          "problem_letter": "E",
          "problem_id": 30133,
          "problem_name": "Palindromic paths",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3931,
          "problem_letter": "F",
          "problem_id": 30134,
          "problem_name": "Pile it down",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "game theory"
          ],
          "tag_keys": [
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 3931,
          "problem_letter": "G",
          "problem_id": 30135,
          "problem_name": "Dice Poker",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 3931,
          "problem_letter": "H",
          "problem_id": 30136,
          "problem_name": "Advise National Security!",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 3931,
          "problem_letter": "I",
          "problem_id": 30137,
          "problem_name": "Find Terrorists",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3932,
      "contest_name": "The 2010 ACM-ICPC Asia Amritapuri Regional Contest",
      "contest_full_name": "The 2010 ACM-ICPC Asia Amritapuri Regional Contest",
      "contest_year": 2010,
      "contest_path": "ICPC > Regionals > Asia West Continent > India",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 3932,
          "problem_letter": "A",
          "problem_id": 30138,
          "problem_name": "Playing Field",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "geometry",
            "mathematics",
            "area of a polygon",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "math",
            "polygon_area",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 3932,
          "problem_letter": "B",
          "problem_id": 30139,
          "problem_name": "Regular Expression Edit Distance",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "string",
            "shortest path",
            "dijkstra's",
            "parsing",
            "0-1 bfs",
            "regular expression"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "shortest_path",
            "dijkstra",
            "parsing",
            "0_1_bfs",
            "regex"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            }
          ]
        },
        {
          "contest_id": 3932,
          "problem_letter": "C",
          "problem_id": 30140,
          "problem_name": "Square-Free Numbers",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 3932,
          "problem_letter": "D",
          "problem_id": 30141,
          "problem_name": "Soccer Teams",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 3932,
          "problem_letter": "E",
          "problem_id": 30142,
          "problem_name": "Sales Prediction",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3932,
          "problem_letter": "F",
          "problem_id": 30143,
          "problem_name": "Cookie Piles",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3932,
          "problem_letter": "G",
          "problem_id": 30144,
          "problem_name": "Christmas Play",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3932,
          "problem_letter": "H",
          "problem_id": 30145,
          "problem_name": "Shopping Rush",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3932,
          "problem_letter": "I",
          "problem_id": 30146,
          "problem_name": "Dividing Stones",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking",
            "data structures",
            "set / map by hashing",
            "precomputation",
            "set / map"
          ],
          "tag_keys": [
            "backtracking",
            "data_structures",
            "hash_set",
            "precomputation",
            "set"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 3932,
          "problem_letter": "J",
          "problem_id": 30147,
          "problem_name": "Chemicals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3933,
      "contest_name": "The 2015 ACM-ICPC Asia Chennai Regional Contest",
      "contest_full_name": "The 2015 ACM-ICPC Asia Chennai Regional Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > Asia West Continent > India",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3933,
          "problem_letter": "A",
          "problem_id": 30148,
          "problem_name": "Malvika conducts her own ACM-ICPC contest series",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3933,
          "problem_letter": "B",
          "problem_id": 30149,
          "problem_name": "Animesh decides to settle down",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "half plane intersection",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "half_plane_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "C",
          "problem_id": 30150,
          "problem_name": "Animesh practices some programming contests",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "D",
          "problem_id": 30151,
          "problem_name": "Malvika gets bored along with her Cats",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3933,
          "problem_letter": "E",
          "problem_id": 30152,
          "problem_name": "Malvika conducts a Programming Camp",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "F",
          "problem_id": 30153,
          "problem_name": "King Animesh decides to have a voyage to the sun",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 3933,
          "problem_letter": "G",
          "problem_id": 30154,
          "problem_name": "Malvika and Animesh play Red-Blue cards Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "ad-hoc",
            "game theory",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "game_theory",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "H",
          "problem_id": 30155,
          "problem_name": "Crazy Malvika discovers Crazy Fibonacci function",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "I",
          "problem_id": 30156,
          "problem_name": "Malvika is peculiar about color of balloons",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "J",
          "problem_id": 30157,
          "problem_name": "Animesh does not gift Malvika on her birthday",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "graph theory",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "K",
          "problem_id": 30158,
          "problem_name": "Animesh has a war with tribal leader Malvika",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "greedy",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 3933,
          "problem_letter": "L",
          "problem_id": 30159,
          "problem_name": "Praveen falls from a tall tree",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 3987,
      "contest_name": "BAPC 2023 Preliminaries",
      "contest_full_name": "BAPC 2023 Preliminaries",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 3987,
          "problem_letter": "A",
          "problem_id": 30305,
          "problem_name": "Anti-Tetris",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "B",
          "problem_id": 30306,
          "problem_name": "Better Dice",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "C",
          "problem_id": 30307,
          "problem_name": "Cheap Flying",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "D",
          "problem_id": 30308,
          "problem_name": "Determining Duos",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "E",
          "problem_id": 30309,
          "problem_name": "Exceeding Limits",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "parametric search"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "F",
          "problem_id": 30310,
          "problem_name": "Finding Forks",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "G",
          "problem_id": 30311,
          "problem_name": "Gathering Search Results",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "H",
          "problem_id": 30312,
          "problem_name": "Hacky Ordering",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "string",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "I",
          "problem_id": 30313,
          "problem_name": "Idle Terminal",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "priority queue"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "J",
          "problem_id": 30314,
          "problem_name": "Just a Joystick",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "K",
          "problem_id": 30315,
          "problem_name": "King's Keep",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "L",
          "problem_id": 30316,
          "problem_name": "Losing Leaves",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3987,
          "problem_letter": "M",
          "problem_id": 30317,
          "problem_name": "Monorail",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 3989,
      "contest_name": "TOPC 2023",
      "contest_full_name": "TOPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 3989,
          "problem_letter": "A",
          "problem_id": 30319,
          "problem_name": "Advance to Taoyuan Regional",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "B",
          "problem_id": 30320,
          "problem_name": "Better Chance",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "C",
          "problem_id": 30321,
          "problem_name": "Cutting into Monotone Increasing Sequence",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "string",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "dp",
            "string",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "D",
          "problem_id": 30322,
          "problem_name": "Divide a Convex",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "ternary search",
            "rotating calipers"
          ],
          "tag_keys": [
            "geometry",
            "ternary_search",
            "rotating_calipers"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "rotating_calipers",
              "name": "rotating calipers",
              "boj_tag_id": 64
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "E",
          "problem_id": 30323,
          "problem_name": "Exponentiation",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "dp",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "F",
          "problem_id": 30324,
          "problem_name": "Finding Bridges",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "disjoint set",
            "offline queries",
            "articulation points and bridges"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "disjoint_set",
            "offline_queries",
            "articulation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "G",
          "problem_id": 30325,
          "problem_name": "Gadget Construction",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull",
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "convex_hull",
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "H",
          "problem_id": 30326,
          "problem_name": "Heap Structure",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "tree"
          ],
          "tag_keys": [
            "math",
            "trees"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "I",
          "problem_id": 30327,
          "problem_name": "Introversion",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "J",
          "problem_id": 30328,
          "problem_name": "Java Warriors",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "K",
          "problem_id": 30329,
          "problem_name": "Kick",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 3989,
          "problem_letter": "L",
          "problem_id": 30330,
          "problem_name": "Location, Location, Location",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4004,
      "contest_name": "NCPC 2023",
      "contest_full_name": "NCPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4004,
          "problem_letter": "A",
          "problem_id": 30432,
          "problem_name": "Aperiodic Appointments",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "B",
          "problem_id": 30433,
          "problem_name": "Berry Battle 2",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "C",
          "problem_id": 30434,
          "problem_name": "Converting Romans",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "D",
          "problem_id": 30435,
          "problem_name": "Die Hard",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "E",
          "problem_id": 30436,
          "problem_name": "Electronic Components",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "data structures"
          ],
          "tag_keys": [
            "dp",
            "data_structures"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "F",
          "problem_id": 30437,
          "problem_name": "Factor-Full Tree",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "graph theory",
            "greedy",
            "graph traversal",
            "tree",
            "number theory",
            "constructive",
            "depth-first search",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "greedy",
            "graph_traversal",
            "trees",
            "number_theory",
            "constructive",
            "dfs",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "G",
          "problem_id": 30438,
          "problem_name": "Groups of Strangers",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "string",
            "bitmask",
            "dynamic programming using bitfield",
            "strongly connected component",
            "2-sat",
            "z"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "string",
            "bitmask",
            "dp_bitfield",
            "scc",
            "2_sat",
            "z"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "H",
          "problem_id": 30439,
          "problem_name": "Heroes of Velmar",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "I",
          "problem_id": 30440,
          "problem_name": "Intertwined",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4004,
          "problem_letter": "J",
          "problem_id": 30441,
          "problem_name": "Jamboree",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4004,
          "problem_letter": "K",
          "problem_id": 30442,
          "problem_name": "Karl Coder",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4005,
      "contest_name": "Seoul Nationalwide Internet Competition 2023",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4005,
          "problem_letter": "A",
          "problem_id": 30443,
          "problem_name": "Gourmet Tour",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "tree",
            "constructive"
          ],
          "tag_keys": [
            "trees",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "B",
          "problem_id": 30444,
          "problem_name": "Grid Partition",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "backtracking",
            "precomputation",
            "knuth's x"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "backtracking",
            "precomputation",
            "knuth_x"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "knuth_x",
              "name": "knuth's x",
              "boj_tag_id": 174
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "C",
          "problem_id": 30445,
          "problem_name": "행복 점수",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "D",
          "problem_id": 30446,
          "problem_name": "회문수",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "E",
          "problem_id": 30447,
          "problem_name": "Paper Folding",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "geometry",
            "line segment intersection check",
            "area of a polygon",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "line_intersection",
            "polygon_area",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "F",
          "problem_id": 30448,
          "problem_name": "Perfect Quadrants",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "data structures",
            "segment tree",
            "set / map",
            "sweeping",
            "set / map by trees",
            "priority queue",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "segtree",
            "set",
            "sweeping",
            "tree_set",
            "priority_queue",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "G",
          "problem_id": 30449,
          "problem_name": "Reafy 수열",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "H",
          "problem_id": 30450,
          "problem_name": "Rigged Lottery",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "I",
          "problem_id": 30451,
          "problem_name": "Safari",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "J",
          "problem_id": 30452,
          "problem_name": "Server Overload",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4005,
          "problem_letter": "K",
          "problem_id": 30453,
          "problem_name": "Symmetry of Stars",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "bruteforcing",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4006,
      "contest_name": "Latin America Regional Contests 2023",
      "contest_full_name": "Latin America Regional Contests 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4006,
          "problem_letter": "A",
          "problem_id": 30476,
          "problem_name": "Analyzing Contracts",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "divide and conquer",
            "divide and conquer optimization",
            "dynamic programming",
            "segment tree",
            "square root decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "divide_and_conquer",
            "divide_and_conquer_optimization",
            "dp",
            "segtree",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "B",
          "problem_id": 30477,
          "problem_name": "Blackboard Game",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "C",
          "problem_id": 30478,
          "problem_name": "Candy Rush",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "set / map",
            "prefix sum",
            "hashing"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "prefix_sum",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "D",
          "problem_id": 30479,
          "problem_name": "Deciphering WordWhiz",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "E",
          "problem_id": 30480,
          "problem_name": "Elevated Profits",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "greedy",
            "tree",
            "disjoint set",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "trees",
            "disjoint_set",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "F",
          "problem_id": 30481,
          "problem_name": "Forward and Backward",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "square root decomposition"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "G",
          "problem_id": 30482,
          "problem_name": "GPS on a Flat Earth",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "implementation",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "H",
          "problem_id": 30483,
          "problem_name": "Health in Hazard",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "binary search",
            "parametric search",
            "half plane intersection"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "parametric_search",
            "half_plane_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "half_plane_intersection",
              "name": "half plane intersection",
              "boj_tag_id": 190
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "I",
          "problem_id": 30484,
          "problem_name": "Inversions",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "J",
          "problem_id": 30485,
          "problem_name": "Journey of the Robber",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "tree",
            "divide and conquer",
            "lowest common ancestor",
            "centroid",
            "centroid decomposition"
          ],
          "tag_keys": [
            "trees",
            "divide_and_conquer",
            "lca",
            "centroid",
            "centroid_decomposition"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "K",
          "problem_id": 30486,
          "problem_name": "Keen on Order",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "L",
          "problem_id": 30487,
          "problem_name": "Latam++",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "case work"
          ],
          "tag_keys": [
            "binary_search",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4006,
          "problem_letter": "M",
          "problem_id": 30488,
          "problem_name": "Meeting Point",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4010,
      "contest_name": "BAPC 2023",
      "contest_full_name": "BAPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4010,
          "problem_letter": "A",
          "problem_id": 30489,
          "problem_name": "<code>apt upgrade</code>",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "sorting",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "B",
          "problem_id": 30490,
          "problem_name": "Battle Bots",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "C",
          "problem_id": 30491,
          "problem_name": "Compressing Commands",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "dynamic programming",
            "data structures",
            "string",
            "tree",
            "dynamic programming on trees",
            "parsing",
            "rerooting on trees"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "data_structures",
            "string",
            "trees",
            "dp_tree",
            "parsing",
            "rerooting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "rerooting",
              "name": "rerooting on trees",
              "boj_tag_id": 233
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "D",
          "problem_id": 30492,
          "problem_name": "Democratic Naming",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "E",
          "problem_id": 30493,
          "problem_name": "Exam Study Planning",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "F",
          "problem_id": 30494,
          "problem_name": "Funicular Frenzy",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "G",
          "problem_id": 30495,
          "problem_name": "Geometry Game",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "H",
          "problem_id": 30496,
          "problem_name": "Hidden Art",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "I",
          "problem_id": 30497,
          "problem_name": "International Irregularities",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "prefix sum",
            "case work",
            "sparse table"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "prefix_sum",
            "case_work",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "J",
          "problem_id": 30498,
          "problem_name": "Jungle Job",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "K",
          "problem_id": 30499,
          "problem_name": "King of the Hill",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "randomization"
          ],
          "tag_keys": [
            "ad_hoc",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 4010,
          "problem_letter": "L",
          "problem_id": 30500,
          "problem_name": "Locking Doors",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4011,
      "contest_name": "2023-2024 East Central NA Regional Contest",
      "contest_full_name": "2023-2024 East Central NA Regional Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4011,
          "problem_letter": "A",
          "problem_id": 30524,
          "problem_name": "A Pivotal Question",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "B",
          "problem_id": 30525,
          "problem_name": "B Road Band",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "geometry",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "C",
          "problem_id": 30526,
          "problem_name": "Convex Hull Extension",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "pick's theorem"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "pick"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pick",
              "name": "pick's theorem",
              "boj_tag_id": 187
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "D",
          "problem_id": 30527,
          "problem_name": "Cornhusker",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "E",
          "problem_id": 30528,
          "problem_name": "Prof. Fumblemore and the Collatz Conjecture",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "F",
          "problem_id": 30529,
          "problem_name": "Double Up",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "dynamic programming"
          ],
          "tag_keys": [
            "implementation",
            "dp"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "G",
          "problem_id": 30530,
          "problem_name": "Forest for the Trees",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "bruteforcing",
            "sorting",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "sorting",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "H",
          "problem_id": 30531,
          "problem_name": "Impartial Strings",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "string",
            "ad-hoc",
            "tree",
            "constructive",
            "randomization",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "ad_hoc",
            "trees",
            "constructive",
            "randomization",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "I",
          "problem_id": 30532,
          "problem_name": "ISBN Conversion",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "J",
          "problem_id": 30533,
          "problem_name": "Pearls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4011,
          "problem_letter": "K",
          "problem_id": 30534,
          "problem_name": "Split Decisions",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4011,
          "problem_letter": "L",
          "problem_id": 30535,
          "problem_name": "A (Fast) Walk in the Woods",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4013,
      "contest_name": "2023 Greater New York Programming Contest",
      "contest_full_name": "2023 Greater New York Programming Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4013,
          "problem_letter": "A",
          "problem_id": 30527,
          "problem_name": "Cornhusker",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "B",
          "problem_id": 30524,
          "problem_name": "A Pivotal Question",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "C",
          "problem_id": 30528,
          "problem_name": "Prof. Fumblemore and the Collatz Conjecture",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "D",
          "problem_id": 30529,
          "problem_name": "Double Up",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "dynamic programming"
          ],
          "tag_keys": [
            "implementation",
            "dp"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "E",
          "problem_id": 24744,
          "problem_name": "Three Spheres and a Tetrahedron",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "F",
          "problem_id": 30530,
          "problem_name": "Forest for the Trees",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "bruteforcing",
            "sorting",
            "geometry",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "sorting",
            "geometry",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "G",
          "problem_id": 30533,
          "problem_name": "Pearls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4013,
          "problem_letter": "H",
          "problem_id": 30535,
          "problem_name": "A (Fast) Walk in the Woods",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "I",
          "problem_id": 30532,
          "problem_name": "ISBN Conversion",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "J",
          "problem_id": 30537,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4013,
          "problem_letter": "K",
          "problem_id": 30538,
          "problem_name": "Plus Minus Four Squares",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4013,
          "problem_letter": "L",
          "problem_id": 30539,
          "problem_name": "Make Your Own Morse Code Palindrome",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4015,
      "contest_name": "2023 North Central NA Regional Contest",
      "contest_full_name": "2023 North Central NA Regional Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4015,
          "problem_letter": "A",
          "problem_id": 30540,
          "problem_name": "A Complex Problem",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4015,
          "problem_letter": "B",
          "problem_id": 30541,
          "problem_name": "Add or Multiply",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4015,
          "problem_letter": "C",
          "problem_id": 30542,
          "problem_name": "Anti-Palindrome",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4015,
          "problem_letter": "D",
          "problem_id": 30543,
          "problem_name": "Bombardment",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "simulation",
            "sliding window"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "simulation",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 4015,
          "problem_letter": "E",
          "problem_id": 30544,
          "problem_name": "Cuckoo! Cuckoo!",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4015,
          "problem_letter": "F",
          "problem_id": 30545,
          "problem_name": "Cyclical Periods",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4015,
          "problem_letter": "G",
          "problem_id": 30546,
          "problem_name": "Gas Station",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4015,
          "problem_letter": "H",
          "problem_id": 30547,
          "problem_name": "Modified Gray Code",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4015,
          "problem_letter": "I",
          "problem_id": 30548,
          "problem_name": "Reapportionment",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4015,
          "problem_letter": "J",
          "problem_id": 30549,
          "problem_name": "Ribbon Road",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4015,
          "problem_letter": "K",
          "problem_id": 30550,
          "problem_name": "Scientific Grading",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4015,
          "problem_letter": "L",
          "problem_id": 30551,
          "problem_name": "Scrabble Flash",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4016,
      "contest_name": "2023 Rocky Mountain Regional Contest",
      "contest_full_name": "2023 Rocky Mountain Regional Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4016,
          "problem_letter": "A",
          "problem_id": 30552,
          "problem_name": "Attendance",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4016,
          "problem_letter": "B",
          "problem_id": 30541,
          "problem_name": "Add or Multiply",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4016,
          "problem_letter": "C",
          "problem_id": 30553,
          "problem_name": "Guess Who",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4016,
          "problem_letter": "D",
          "problem_id": 30554,
          "problem_name": "Seven Up",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "implementation",
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "dp",
            "implementation",
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4016,
          "problem_letter": "E",
          "problem_id": 30546,
          "problem_name": "Gas Station",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4016,
          "problem_letter": "F",
          "problem_id": 30555,
          "problem_name": "Thwack!",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 4016,
          "problem_letter": "G",
          "problem_id": 30543,
          "problem_name": "Bombardment",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "simulation",
            "sliding window"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "simulation",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 4016,
          "problem_letter": "H",
          "problem_id": 30550,
          "problem_name": "Scientific Grading",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4016,
          "problem_letter": "I",
          "problem_id": 30556,
          "problem_name": "Building Roads",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4016,
          "problem_letter": "J",
          "problem_id": 30557,
          "problem_name": "Don't Be Fake",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "prefix sum",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4016,
          "problem_letter": "K",
          "problem_id": 30540,
          "problem_name": "A Complex Problem",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4016,
          "problem_letter": "L",
          "problem_id": 30549,
          "problem_name": "Ribbon Road",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4017,
      "contest_name": "UKIEPC 2023",
      "contest_full_name": "UKIEPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 4017,
          "problem_letter": "A",
          "problem_id": 30558,
          "problem_name": "Assessment Disruption",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "B",
          "problem_id": 30559,
          "problem_name": "Boat Commuter",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "C",
          "problem_id": 30560,
          "problem_name": "Clearing Space",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "D",
          "problem_id": 30561,
          "problem_name": "Delivery Forces",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "E",
          "problem_id": 30562,
          "problem_name": "Enchanted Fortress",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "randomization",
            "heuristics",
            "meet in the middle"
          ],
          "tag_keys": [
            "bruteforcing",
            "randomization",
            "heuristics",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "F",
          "problem_id": 30563,
          "problem_name": "Fast Forward",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "binary search",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "binary_search",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "G",
          "problem_id": 30564,
          "problem_name": "Glacier Travel",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "mathematics",
            "ternary search",
            "two-pointer"
          ],
          "tag_keys": [
            "geometry",
            "math",
            "ternary_search",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "H",
          "problem_id": 30565,
          "problem_name": "History in Numbers",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "I",
          "problem_id": 30566,
          "problem_name": "International Travel",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4017,
          "problem_letter": "J",
          "problem_id": 30567,
          "problem_name": "Journey of Recovery",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dijkstra's",
            "graph theory",
            "parsing",
            "shortest path",
            "string"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "parsing",
            "shortest_path",
            "string"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "K",
          "problem_id": 30568,
          "problem_name": "Kernel Scheduler",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "directed acyclic graph"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "dag"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "L",
          "problem_id": 30569,
          "problem_name": "Last One Standing",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "M",
          "problem_id": 30570,
          "problem_name": "Mini-Tetris 3023",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4017,
          "problem_letter": "N",
          "problem_id": 30571,
          "problem_name": "Naming Wine Bottles",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4022,
      "contest_name": "CTU Open Contest 2023",
      "contest_full_name": "CTU Open Contest 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4022,
          "problem_letter": "B",
          "problem_id": 30572,
          "problem_name": "Beth’s Cookies",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "C",
          "problem_id": 30573,
          "problem_name": "Clubbing",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "two-pointer",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "two_pointer",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "D",
          "problem_id": 30574,
          "problem_name": "Digitalisation",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc",
            "greedy"
          ],
          "tag_keys": [
            "ad_hoc",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "E",
          "problem_id": 30575,
          "problem_name": "Expressions",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "F",
          "problem_id": 30576,
          "problem_name": "Fragmentation",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "binary search",
            "primality test",
            "precomputation",
            "sieve of eratosthenes",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "binary_search",
            "primality_test",
            "precomputation",
            "sieve",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "G",
          "problem_id": 30577,
          "problem_name": "Golem Coordinated Derby",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "greedy",
            "mathematics",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "greedy",
            "math",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "H",
          "problem_id": 30578,
          "problem_name": "Hamster",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "graph traversal",
            "geometry",
            "case work",
            "disjoint set"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "graph_traversal",
            "geometry",
            "case_work",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "M",
          "problem_id": 30579,
          "problem_name": "Movers",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "square root decomposition"
          ],
          "tag_keys": [
            "graphs",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "N",
          "problem_id": 30580,
          "problem_name": "Natatorium",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "arithmetic",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "arithmetic",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "P",
          "problem_id": 30581,
          "problem_name": "Proglute",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "S",
          "problem_id": 30582,
          "problem_name": "Screamers in the Storm",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "geometry",
            "geometry; hyperdimensional"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "geometry_hyper"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_hyper",
              "name": "geometry; hyperdimensional",
              "boj_tag_id": 132
            }
          ]
        },
        {
          "contest_id": 4022,
          "problem_letter": "W",
          "problem_id": 30583,
          "problem_name": "Wall",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4023,
      "contest_name": "ICPC 2023-2024 Northwestern Russia Qualification",
      "contest_full_name": "ICPC 2023-2024 Northwestern Russia Qualification",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4023,
          "problem_letter": "A",
          "problem_id": 30584,
          "problem_name": "Середина игры",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "B",
          "problem_id": 30585,
          "problem_name": "Поп-ит",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "C",
          "problem_id": 30586,
          "problem_name": "Ужин для интровертов",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "D",
          "problem_id": 30587,
          "problem_name": "Плохие ставки",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4023,
          "problem_letter": "E",
          "problem_id": 30588,
          "problem_name": "Клюкало",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "F",
          "problem_id": 30589,
          "problem_name": "Маска для монстров",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "greedy",
            "geometry",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "greedy",
            "geometry",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "G",
          "problem_id": 30590,
          "problem_name": "Наибольший наибольший общий делитель",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "H",
          "problem_id": 30591,
          "problem_name": "Прогрессивный NoSQL",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4023,
          "problem_letter": "I",
          "problem_id": 30592,
          "problem_name": "Марго покидает Мегабайтбург",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "0-1 bfs",
            "dijkstra's",
            "graph theory",
            "graph traversal",
            "shortest path"
          ],
          "tag_keys": [
            "0_1_bfs",
            "dijkstra",
            "graphs",
            "graph_traversal",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 4023,
          "problem_letter": "J",
          "problem_id": 30593,
          "problem_name": "Snakes&Snakes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4023,
          "problem_letter": "K",
          "problem_id": 30594,
          "problem_name": "Бинарные деревья",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4023,
          "problem_letter": "L",
          "problem_id": 30595,
          "problem_name": "Апокалипсис",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "geometry",
            "implementation",
            "mathematics"
          ],
          "tag_keys": [
            "geometry",
            "implementation",
            "math"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4024,
      "contest_name": "ICPC 2023-2024 Northwestern Russia Regional Contest",
      "contest_full_name": "ICPC 2023-2024 Northwestern Russia Regional Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4024,
          "problem_letter": "A",
          "problem_id": 30596,
          "problem_name": "Axis-Aligned Area",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "B",
          "problem_id": 30597,
          "problem_name": "Based Zeros",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "heuristics"
          ],
          "tag_keys": [
            "ad_hoc",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "C",
          "problem_id": 30598,
          "problem_name": "Colorful Village",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "tree",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "trees",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "D",
          "problem_id": 30599,
          "problem_name": "Divisibility Trick",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "E",
          "problem_id": 30600,
          "problem_name": "Every Queen",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "F",
          "problem_id": 30601,
          "problem_name": "First Solved, Last Coded",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "G",
          "problem_id": 30602,
          "problem_name": "Game of Nim",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "bitmask"
          ],
          "tag_keys": [
            "dp",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "H",
          "problem_id": 30603,
          "problem_name": "H-Shaped Figures",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "geometry",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "I",
          "problem_id": 30604,
          "problem_name": "Intersegment Activation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "J",
          "problem_id": 30605,
          "problem_name": "Jumping Frogs",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "binary search",
            "greedy"
          ],
          "tag_keys": [
            "binary_search",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "K",
          "problem_id": 30606,
          "problem_name": "Kitchen Timer",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "L",
          "problem_id": 30607,
          "problem_name": "Loops",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "constructive",
            "directed acyclic graph",
            "graph theory",
            "topological sorting"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "dag",
            "graphs",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4024,
          "problem_letter": "M",
          "problem_id": 30608,
          "problem_name": "Missing Vowels",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4025,
      "contest_name": "GRCPC 2023",
      "contest_full_name": "GRCPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest > Greek Collegiate Programming Contest",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 4025,
          "problem_letter": "1",
          "problem_id": 30609,
          "problem_name": "Alloys",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "sorting",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "2",
          "problem_id": 30610,
          "problem_name": "A-maze-ing Lakes",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "3",
          "problem_id": 30611,
          "problem_name": "Course Prerequisites",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "4",
          "problem_id": 30612,
          "problem_name": "Heavy Rainfall",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "5",
          "problem_id": 30613,
          "problem_name": "Weather Trends",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "set / map by trees",
            "priority queue",
            "deque",
            "sliding window",
            "deque range maximum trick"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "tree_set",
            "priority_queue",
            "deque",
            "sliding_window",
            "deque_trick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            },
            {
              "key": "deque_trick",
              "name": "deque range maximum trick",
              "boj_tag_id": 216
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "6",
          "problem_id": 30614,
          "problem_name": "Port Robot",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "7",
          "problem_id": 30615,
          "problem_name": "Variable Assignments",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "2-sat",
            "graph theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "2_sat",
            "graphs",
            "scc"
          ],
          "tag_details": [
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 4025,
          "problem_letter": "8",
          "problem_id": 30616,
          "problem_name": "Spy Network",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4029,
      "contest_name": "Maratona de Programação da SBC 2022 - Extra Vitória Site",
      "contest_full_name": "Maratona de Programação da SBC 2022 - Extra Vitória Site",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4029,
          "problem_letter": "A",
          "problem_id": 30655,
          "problem_name": "Pique Esconde",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "B",
          "problem_id": 30656,
          "problem_name": "Concatenação de Strings",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "string",
            "number theory",
            "knuth–morris–pratt"
          ],
          "tag_keys": [
            "math",
            "string",
            "number_theory",
            "kmp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "C",
          "problem_id": 30657,
          "problem_name": "Cada um no seu quadrado",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "geometry",
            "sorting"
          ],
          "tag_keys": [
            "geometry",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "D",
          "problem_id": 30658,
          "problem_name": "Os últimos serão os primeiros",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "E",
          "problem_id": 30659,
          "problem_name": "Hora do rush",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "F",
          "problem_id": 30660,
          "problem_name": "Caminho de Bêbado",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4029,
          "problem_letter": "G",
          "problem_id": 30661,
          "problem_name": "Arquipélago",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "backtracking",
            "implementation",
            "recursion"
          ],
          "tag_keys": [
            "backtracking",
            "implementation",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "H",
          "problem_id": 30662,
          "problem_name": "O Jogo",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map by hashing",
            "implementation",
            "simulation",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "hash_set",
            "implementation",
            "simulation",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "I",
          "problem_id": 30663,
          "problem_name": "Soma de números consecutivos",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "J",
          "problem_id": 30664,
          "problem_name": "Loteria Falha",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "K",
          "problem_id": 30665,
          "problem_name": "Centros de Distribuição Gêmeos",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "graph theory",
            "bitmask",
            "bit set"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bitmask",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4029,
          "problem_letter": "L",
          "problem_id": 30666,
          "problem_name": "Soma de quantidade prima de primos consecutivos",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4058,
      "contest_name": "Asia Regional - Seoul 2023",
      "contest_full_name": "Asia Regional - Seoul 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4058,
          "problem_letter": "A",
          "problem_id": 30852,
          "problem_name": "Apricot Seeds",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "prefix sum",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "prefix_sum",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "B",
          "problem_id": 30853,
          "problem_name": "Black Box",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "C",
          "problem_id": 30854,
          "problem_name": "Farm",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "sweeping",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "sweeping",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "D",
          "problem_id": 30855,
          "problem_name": "Fraction",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "data structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "string",
            "parsing",
            "stack"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "E",
          "problem_id": 30856,
          "problem_name": "K-Lottery",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "hashing"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "F",
          "problem_id": 30857,
          "problem_name": "Lucky Draws",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "sweeping",
            "divide and conquer",
            "segment tree with lazy propagation",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "sweeping",
            "divide_and_conquer",
            "lazyprop",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "G",
          "problem_id": 30858,
          "problem_name": "Magic Cards",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "data structures",
            "bruteforcing",
            "ad-hoc",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "bruteforcing",
            "ad_hoc",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "H",
          "problem_id": 30859,
          "problem_name": "M. S. I. S.",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "I",
          "problem_id": 30860,
          "problem_name": "Product Delivery",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "J",
          "problem_id": 30861,
          "problem_name": "Special Numbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "digit dp"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "K",
          "problem_id": 30862,
          "problem_name": "Tandem Copy",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4058,
          "problem_letter": "L",
          "problem_id": 30863,
          "problem_name": "Walk Swapping",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "greedy",
            "string",
            "ad-hoc",
            "hashing"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "string",
            "ad_hoc",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4062,
      "contest_name": "NWERC 2023",
      "contest_full_name": "NWERC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 4062,
          "problem_letter": "A",
          "problem_id": 30898,
          "problem_name": "Arranging Adapters",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "B",
          "problem_id": 30899,
          "problem_name": "Brickwork",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "constructive",
            "case work",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "constructive",
            "case_work",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "C",
          "problem_id": 30900,
          "problem_name": "Chair Dance",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "ad-hoc",
            "number theory",
            "disjoint set",
            "extended euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "ad_hoc",
            "number_theory",
            "disjoint_set",
            "extended_euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "extended_euclidean",
              "name": "extended euclidean algorithm",
              "boj_tag_id": 27
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "D",
          "problem_id": 30901,
          "problem_name": "Date Picker",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "sorting",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "sorting",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "E",
          "problem_id": 30902,
          "problem_name": "Exponentiation",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "data structures",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "F",
          "problem_id": 30903,
          "problem_name": "Fixing Fractions",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "G",
          "problem_id": 30904,
          "problem_name": "Galaxy Quest",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "shortest_path",
            "dijkstra",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "H",
          "problem_id": 30905,
          "problem_name": "Higher Arithmetic",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "I",
          "problem_id": 30906,
          "problem_name": "Isolated Island",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "ad-hoc",
            "planar graph",
            "dual graph"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "planar_graph",
            "dual_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "dual_graph",
              "name": "dual graph",
              "boj_tag_id": 181
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "J",
          "problem_id": 30907,
          "problem_name": "Jogging Tour",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "geometry",
            "bitmask",
            "dynamic programming using bitfield",
            "travelling salesman problem"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "bitmask",
            "dp_bitfield",
            "tsp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "tsp",
              "name": "travelling salesman problem",
              "boj_tag_id": 138
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "K",
          "problem_id": 30908,
          "problem_name": "Klompendans",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "L",
          "problem_id": 30909,
          "problem_name": "Lateral Damage",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "PA",
          "problem_id": 30886,
          "problem_name": "Artistic Souvenir",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "PB",
          "problem_id": 30887,
          "problem_name": "Basic Math",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "set / map",
            "value / coordinate compression",
            "bipartite matching"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "coordinate_compression",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4062,
          "problem_letter": "PC",
          "problem_id": 30888,
          "problem_name": "Cheese Comparison",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4070,
      "contest_name": "ICPC 2023 Asia Yokohama Regional",
      "contest_full_name": "ICPC 2023 Asia Yokohama Regional",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4070,
          "problem_letter": "A",
          "problem_id": 30928,
          "problem_name": "Yokohama Phenomena",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "depth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "B",
          "problem_id": 30929,
          "problem_name": "Rank Promotion",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "C",
          "problem_id": 30930,
          "problem_name": "Ferris Wheel",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "mathematics",
            "combinatorics",
            "burnside's lemma"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "burnside"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "burnside",
              "name": "burnside's lemma",
              "boj_tag_id": 16
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "D",
          "problem_id": 30931,
          "problem_name": "Nested Repetition Compression",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "E",
          "problem_id": 30932,
          "problem_name": "Chayas",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "F",
          "problem_id": 30933,
          "problem_name": "Color Inversion on a Huge Chessboard",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "G",
          "problem_id": 30934,
          "problem_name": "Fortune Telling",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "H",
          "problem_id": 30935,
          "problem_name": "Task Assignment to Two Employees",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "maximum flow",
            "max-flow min-cut theorem",
            "sorting",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "mfmc",
            "sorting",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "I",
          "problem_id": 30936,
          "problem_name": "Liquid Distribution",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc",
            "geometry",
            "sorting"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "J",
          "problem_id": 30937,
          "problem_name": "Do It Yourself?",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "greedy",
            "tree",
            "segment tree",
            "priority queue",
            "smaller to larger technique",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "trees",
            "segtree",
            "priority_queue",
            "smaller_to_larger",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 4070,
          "problem_letter": "K",
          "problem_id": 30938,
          "problem_name": "Probing the Disk",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4073,
      "contest_name": "CERC 2023",
      "contest_full_name": "CERC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4073,
          "problem_letter": "A",
          "problem_id": 30945,
          "problem_name": "Attendance",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "greedy",
            "two-pointer",
            "offline queries",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "two_pointer",
            "offline_queries",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "B",
          "problem_id": 30946,
          "problem_name": "Ball Passing",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "C",
          "problem_id": 30947,
          "problem_name": "Cakes",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "D",
          "problem_id": 30948,
          "problem_name": "Drying Laundry",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "binary search",
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "binary_search",
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "E",
          "problem_id": 30949,
          "problem_name": "Equal Schedules",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "data structures",
            "string",
            "set / map",
            "set / map by hashing",
            "set / map by trees"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "set",
            "hash_set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "F",
          "problem_id": 30950,
          "problem_name": "Phylogenetics",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4073,
          "problem_letter": "G",
          "problem_id": 30951,
          "problem_name": "Going to the Moon",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "H",
          "problem_id": 30952,
          "problem_name": "Human Resources",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "string",
            "graph traversal",
            "constructive",
            "depth-first search",
            "bitmask",
            "parsing"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "graph_traversal",
            "constructive",
            "dfs",
            "bitmask",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "I",
          "problem_id": 30953,
          "problem_name": "Interactive Reconstruction",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "ad-hoc",
            "tree",
            "bitmask"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "trees",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "J",
          "problem_id": 30954,
          "problem_name": "Jumbled Stacks",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "K",
          "problem_id": 30955,
          "problem_name": "Keys",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "case work",
            "constructive",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "constructive",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4073,
          "problem_letter": "L",
          "problem_id": 30956,
          "problem_name": "Labelled Paths",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "string",
            "directed acyclic graph",
            "topological sorting",
            "hashing",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "dag",
            "topological_sorting",
            "hashing",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4078,
      "contest_name": "2012 South Central USA Regional Programming Contest",
      "contest_full_name": "2012 South Central USA Regional Programming Contest",
      "contest_year": 2012,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 4078,
          "problem_letter": "1",
          "problem_id": 31010,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4078,
          "problem_letter": "2",
          "problem_id": 31011,
          "problem_name": "Heiroglyphics",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4078,
          "problem_letter": "3",
          "problem_id": 31012,
          "problem_name": "Abusive Tactics",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4078,
          "problem_letter": "4",
          "problem_id": 31013,
          "problem_name": "Shortest Circuit",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4078,
          "problem_letter": "5",
          "problem_id": 31014,
          "problem_name": "Floodfill",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4078,
          "problem_letter": "6",
          "problem_id": 31015,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4078,
          "problem_letter": "7",
          "problem_id": 31016,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4078,
          "problem_letter": "8",
          "problem_id": 31017,
          "problem_name": "Golumb Cages",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4080,
      "contest_name": "2016 South Central USA Regional Programming Contest",
      "contest_full_name": "2016 South Central USA Regional Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4080,
          "problem_letter": "A",
          "problem_id": 31018,
          "problem_name": "Alley",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "data structures",
            "sorting",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "B",
          "problem_id": 31019,
          "problem_name": "Bouncing Balls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4080,
          "problem_letter": "C",
          "problem_id": 31020,
          "problem_name": "Collision Alert",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "D",
          "problem_id": 31021,
          "problem_name": "Cookie Cutting",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "sorting",
            "geometry",
            "calculus",
            "green's theorem"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry",
            "calculus",
            "green"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "green",
              "name": "green's theorem",
              "boj_tag_id": 183
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "E",
          "problem_id": 31022,
          "problem_name": "Corrupted Gradebook",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "F",
          "problem_id": 14762,
          "problem_name": "Election",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "G",
          "problem_id": 31024,
          "problem_name": "Filesystem",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "case work",
            "data structures",
            "set / map by hashing",
            "implementation",
            "linked list",
            "parsing",
            "recursion",
            "string",
            "tree",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "case_work",
            "data_structures",
            "hash_set",
            "implementation",
            "linked_list",
            "parsing",
            "recursion",
            "string",
            "trees",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "linked_list",
              "name": "linked list",
              "boj_tag_id": 154
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "H",
          "problem_id": 14761,
          "problem_name": "FizzBuzz",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "I",
          "problem_id": 31023,
          "problem_name": "Hit Song",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "parsing"
          ],
          "tag_keys": [
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4080,
          "problem_letter": "J",
          "problem_id": 31025,
          "problem_name": "Placing Plates",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4080,
          "problem_letter": "K",
          "problem_id": 31026,
          "problem_name": "The ABC Conjecture",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory",
            "euclidean algorithm",
            "precomputation",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "euclidean",
            "precomputation",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4081,
      "contest_name": "2017 South Central USA Regional Programming Contest",
      "contest_full_name": "2017 South Central USA Regional Programming Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4081,
          "problem_letter": "A",
          "problem_id": 15096,
          "problem_name": "Batter Up",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "B",
          "problem_id": 31039,
          "problem_name": "Collection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4081,
          "problem_letter": "C",
          "problem_id": 15101,
          "problem_name": "Faulty Robot",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "breadth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "D",
          "problem_id": 15099,
          "problem_name": "Honey Heist",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "E",
          "problem_id": 15102,
          "problem_name": "Hopscotch",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "combinatorics",
            "exponentiation by squaring",
            "fermat's little theorem",
            "mathematics",
            "modular multiplicative inverse",
            "number theory"
          ],
          "tag_keys": [
            "combinatorics",
            "exponentiation_by_squaring",
            "flt",
            "math",
            "modular_multiplicative_inverse",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "F",
          "problem_id": 31040,
          "problem_name": "Nine Knights",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "G",
          "problem_id": 15098,
          "problem_name": "No Duplicates",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "H",
          "problem_id": 15100,
          "problem_name": "Orderly Class",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "I",
          "problem_id": 15103,
          "problem_name": "The Uncertainty of Politics",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4081,
          "problem_letter": "J",
          "problem_id": 15097,
          "problem_name": "Ring String",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4081,
          "problem_letter": "K",
          "problem_id": 31041,
          "problem_name": "State Fair",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4082,
      "contest_name": "2018 ICPC South Central USA Regional Programming Contest",
      "contest_full_name": "2018 ICPC South Central USA Regional Programming Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4082,
          "problem_letter": "A",
          "problem_id": 31042,
          "problem_name": "Turning Trominos",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "B",
          "problem_id": 31043,
          "problem_name": "Minor Setback",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "number theory",
            "set / map",
            "case work",
            "set / map by hashing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "number_theory",
            "set",
            "case_work",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "C",
          "problem_id": 31044,
          "problem_name": "Substring Switcheroo",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "set / map by hashing",
            "sliding window",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "sliding_window",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "D",
          "problem_id": 31045,
          "problem_name": "DJ Gigs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4082,
          "problem_letter": "E",
          "problem_id": 31046,
          "problem_name": "Communications Satellite",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "F",
          "problem_id": 31047,
          "problem_name": "Warehouse",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "data structures",
            "sorting",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "sorting",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "G",
          "problem_id": 31048,
          "problem_name": "Last Factorial Digit",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "H",
          "problem_id": 31049,
          "problem_name": "Great Fireball",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "geometry",
            "sweeping",
            "parametric search"
          ],
          "tag_keys": [
            "geometry",
            "sweeping",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "I",
          "problem_id": 31050,
          "problem_name": "Unique Dice",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "J",
          "problem_id": 31051,
          "problem_name": "Raging River",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "maximum flow",
            "minimum cost maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mcmf"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mcmf",
              "name": "minimum cost maximum flow",
              "boj_tag_id": 48
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "K",
          "problem_id": 31052,
          "problem_name": "Relocation",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4082,
          "problem_letter": "L",
          "problem_id": 31053,
          "problem_name": "Unterwave Distance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4106,
      "contest_name": "SEERC 2021",
      "contest_full_name": "SEERC 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Southeastern European Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 4106,
          "problem_letter": "A",
          "problem_id": 31160,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4106,
          "problem_letter": "B",
          "problem_id": 31147,
          "problem_name": "New Queries On Segment Deluxe",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "segment tree with lazy propagation",
            "persistent segment tree",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "lazyprop",
            "pst",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "C",
          "problem_id": 31153,
          "problem_name": "Werewolves",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "D",
          "problem_id": 31158,
          "problem_name": "Many LCS",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4106,
          "problem_letter": "E",
          "problem_id": 31152,
          "problem_name": "Replace Sort",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "F",
          "problem_id": 31151,
          "problem_name": "to Pay Respects",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "G",
          "problem_id": 31159,
          "problem_name": "Max Pair Matching",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "H",
          "problem_id": 31154,
          "problem_name": "Colourful Permutation Sorting",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "greedy",
            "bruteforcing",
            "sorting",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing",
            "sorting",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "I",
          "problem_id": 31150,
          "problem_name": "Flood Fill",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "J",
          "problem_id": 31146,
          "problem_name": "ABC Legacy",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "K",
          "problem_id": 31156,
          "problem_name": "Amazing Tree",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "graph traversal",
            "sorting",
            "tree",
            "depth-first search",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "graph_traversal",
            "sorting",
            "trees",
            "dfs",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "L",
          "problem_id": 31155,
          "problem_name": "Jason ABC",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "constructive",
            "case work",
            "two-pointer"
          ],
          "tag_keys": [
            "constructive",
            "case_work",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "M",
          "problem_id": 31148,
          "problem_name": "Counting Phenomenal Arrays",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "combinatorics",
            "backtracking"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4106,
          "problem_letter": "N",
          "problem_id": 31161,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4107,
      "contest_name": "AMPPZ 2021",
      "contest_full_name": "AMPPZ 2021",
      "contest_year": 2021,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > Poland Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4107,
          "problem_letter": "A",
          "problem_id": 31162,
          "problem_name": "AMPPZ in the times of disease",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "B",
          "problem_id": 31163,
          "problem_name": "Babushka and her pierogi",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "C",
          "problem_id": 31164,
          "problem_name": "Cake",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "ad-hoc",
            "segment tree",
            "parity"
          ],
          "tag_keys": [
            "data_structures",
            "ad_hoc",
            "segtree",
            "parity"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4107,
          "problem_letter": "D",
          "problem_id": 31165,
          "problem_name": "Divided Mechanism",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "E",
          "problem_id": 31166,
          "problem_name": "Epidemic",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "F",
          "problem_id": 31167,
          "problem_name": "Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "G",
          "problem_id": 31168,
          "problem_name": "Gebyte's Grind",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "H",
          "problem_id": 31169,
          "problem_name": "Hidden Password",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4107,
          "problem_letter": "I",
          "problem_id": 31170,
          "problem_name": "Interesting Numbers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "J",
          "problem_id": 31171,
          "problem_name": "Jungle Trail",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "K",
          "problem_id": 31172,
          "problem_name": "Kitten and Roomba",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "L",
          "problem_id": 31173,
          "problem_name": "Lemurs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4107,
          "problem_letter": "M",
          "problem_id": 31174,
          "problem_name": "Median",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4108,
      "contest_name": "CPC 2023",
      "contest_full_name": "CPC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4108,
          "problem_letter": "A",
          "problem_id": 31188,
          "problem_name": "Avio Algoritam",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "B",
          "problem_id": 31189,
          "problem_name": "Bipartitna Barikada",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bitmask",
            "dynamic programming",
            "dynamic programming using bitfield",
            "hall's theorem"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_bitfield",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "C",
          "problem_id": 31190,
          "problem_name": "Cjelovita Cesta",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "difference array"
          ],
          "tag_keys": [
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "D",
          "problem_id": 31191,
          "problem_name": "Dražesni Doručak",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "linear algebra",
            "line segment intersection check",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "linear_algebra",
            "line_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "E",
          "problem_id": 31192,
          "problem_name": "Ekstravagantni Eksperiment",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "F",
          "problem_id": 31193,
          "problem_name": "Fenomenalni Frano",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4108,
          "problem_letter": "G",
          "problem_id": 31194,
          "problem_name": "Gipka Gumica",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4108,
          "problem_letter": "H",
          "problem_id": 31195,
          "problem_name": "Heksadekadski Haos",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "I",
          "problem_id": 31196,
          "problem_name": "Inteligentna Ines",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "J",
          "problem_id": 31197,
          "problem_name": "Jedinstveno Jezero",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "data structures",
            "sorting",
            "segment tree",
            "value / coordinate compression",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "sorting",
            "segtree",
            "coordinate_compression",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4108,
          "problem_letter": "K",
          "problem_id": 31198,
          "problem_name": "Kilave Krave",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4108,
          "problem_letter": "L",
          "problem_id": 31199,
          "problem_name": "Luckasti Likovi",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "geometry",
            "case work",
            "convex hull"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "case_work",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4130,
      "contest_name": "ICPC North America Qualifier 2023",
      "contest_full_name": "ICPC North America Qualifier 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4130,
          "problem_letter": "A",
          "problem_id": 31301,
          "problem_name": "Contest Advancement",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "B",
          "problem_id": 31302,
          "problem_name": "Digit Translation",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "C",
          "problem_id": 31303,
          "problem_name": "Don't Hunger Together",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "binary search",
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "D",
          "problem_id": 31304,
          "problem_name": "Garden of Thorns",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "calculus",
            "boolean operations on geometric objects",
            "geometry",
            "green's theorem",
            "mathematics"
          ],
          "tag_keys": [
            "calculus",
            "geometric_boolean_operations",
            "geometry",
            "green",
            "math"
          ],
          "tag_details": [
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "geometric_boolean_operations",
              "name": "boolean operations on geometric objects",
              "boj_tag_id": 202
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "green",
              "name": "green's theorem",
              "boj_tag_id": 183
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "E",
          "problem_id": 31305,
          "problem_name": "ICPC Team Generation",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "F",
          "problem_id": 31306,
          "problem_name": "Is Y a Vowel?",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "G",
          "problem_id": 31307,
          "problem_name": "Lines Per Hour",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "H",
          "problem_id": 31308,
          "problem_name": "Magnesium Supplementation",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "I",
          "problem_id": 31309,
          "problem_name": "Missing Number",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "J",
          "problem_id": 31310,
          "problem_name": "Tip of Your Tongue",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "hashing",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hashing",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "K",
          "problem_id": 31311,
          "problem_name": "Very Important Edge",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "disjoint set",
            "minimum spanning tree",
            "lowest common ancestor"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "disjoint_set",
            "mst",
            "lca"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            }
          ]
        },
        {
          "contest_id": 4130,
          "problem_letter": "L",
          "problem_id": 31312,
          "problem_name": "Water Journal",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4151,
      "contest_name": "SWERC 2023-2024",
      "contest_full_name": "SWERC 2023-2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 18,
      "problems": [
        {
          "contest_id": 4151,
          "problem_letter": "A",
          "problem_id": 31482,
          "problem_name": "Card game",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "bruteforcing",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "bruteforcing",
            "lis"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "B",
          "problem_id": 31483,
          "problem_name": "Supporting everyone",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "maximum flow",
            "bipartite matching",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "bipartite_matching",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "C",
          "problem_id": 31484,
          "problem_name": "Metro quiz",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "set / map",
            "bitmask",
            "set / map by hashing",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "set",
            "bitmask",
            "hash_set",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "D",
          "problem_id": 31485,
          "problem_name": "Flag performance",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "combinatorics",
            "backtracking",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "combinatorics",
            "backtracking",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "E",
          "problem_id": 31486,
          "problem_name": "Nicest view",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "F",
          "problem_id": 31487,
          "problem_name": "Programming-trampoline-athlon!",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "G",
          "problem_id": 31488,
          "problem_name": "Favourite dish",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "convex hull",
            "convex hull trick"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "cht"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "H",
          "problem_id": 31489,
          "problem_name": "Break a leg!",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "sorting",
            "geometry",
            "combinatorics",
            "two-pointer",
            "arbitrary precision / big integers",
            "angle sorting"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry",
            "combinatorics",
            "two_pointer",
            "arbitrary_precision",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "I",
          "problem_id": 31490,
          "problem_name": "Throwing dice",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "J",
          "problem_id": 31491,
          "problem_name": "Olympic goodies",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "greedy",
            "ad-hoc",
            "tree"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "ad_hoc",
            "trees"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "K",
          "problem_id": 31492,
          "problem_name": "Team selection",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "binary search"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "L",
          "problem_id": 31493,
          "problem_name": "Broken trophy",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "M",
          "problem_id": 31494,
          "problem_name": "In-order",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "dynamic programming",
            "ad-hoc",
            "tree",
            "combinatorics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "dp",
            "ad_hoc",
            "trees",
            "combinatorics",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "PA",
          "problem_id": 31448,
          "problem_name": "Ascending hike",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "PB",
          "problem_id": 31449,
          "problem_name": "Close scores",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "constructive",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "constructive",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "PC",
          "problem_id": 31450,
          "problem_name": "Everyone is a winner",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "PD",
          "problem_id": 31451,
          "problem_name": "Five in a Row",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "set / map by hashing",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4151,
          "problem_letter": "PE",
          "problem_id": 31452,
          "problem_name": "Wooden blocks",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4156,
      "contest_name": "Division 1",
      "contest_full_name": "2023 ICPC Pacific Northwest Region Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2023 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4156,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "B",
          "problem_id": 31507,
          "problem_name": "Acceptable Seating Arrangements",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "C",
          "problem_id": 31508,
          "problem_name": "Candy Factory",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "D",
          "problem_id": 31509,
          "problem_name": "Cramming for Finals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "E",
          "problem_id": 31510,
          "problem_name": "Eccentric Excursion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "tree",
            "case work",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "trees",
            "case_work",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "F",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "G",
          "problem_id": 31512,
          "problem_name": "Matrix Fraud",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "H",
          "problem_id": 31513,
          "problem_name": "On-Call Team",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "bruteforcing",
            "hall's theorem"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "I",
          "problem_id": 31514,
          "problem_name": "Range Editing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "J",
          "problem_id": 31515,
          "problem_name": "Segment Drawing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "K",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "L",
          "problem_id": 31517,
          "problem_name": "Training",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4156,
          "problem_letter": "M",
          "problem_id": 31518,
          "problem_name": "Triple Sevens",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4157,
      "contest_name": "Division 2",
      "contest_full_name": "2023 ICPC Pacific Northwest Region Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2023 ICPC Pacific Northwest Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4157,
          "problem_letter": "A",
          "problem_id": 31519,
          "problem_name": "A Cappella Recording",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "B",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "C",
          "problem_id": 31521,
          "problem_name": "Four Die Rolls",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "E",
          "problem_id": 31517,
          "problem_name": "Training",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "F",
          "problem_id": 31518,
          "problem_name": "Triple Sevens",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "G",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "H",
          "problem_id": 31507,
          "problem_name": "Acceptable Seating Arrangements",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "I",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "J",
          "problem_id": 31508,
          "problem_name": "Candy Factory",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "K",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "L",
          "problem_id": 31524,
          "problem_name": "Magic Cube",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "geometry",
            "simulation",
            "geometry; 3d"
          ],
          "tag_keys": [
            "implementation",
            "geometry",
            "simulation",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 4157,
          "problem_letter": "M",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4158,
      "contest_name": "2023 Mid-Central USA Programming Contest",
      "contest_full_name": "2023 Mid-Central USA Programming Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4158,
          "problem_letter": "A",
          "problem_id": 31526,
          "problem_name": "Rampant Growth",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "B",
          "problem_id": 31514,
          "problem_name": "Range Editing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "C",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "D",
          "problem_id": 31527,
          "problem_name": "Tournament Matchmaking",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "bitmask",
            "bipartite matching"
          ],
          "tag_keys": [
            "bruteforcing",
            "bitmask",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "E",
          "problem_id": 31515,
          "problem_name": "Segment Drawing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "F",
          "problem_id": 31510,
          "problem_name": "Eccentric Excursion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "tree",
            "case work",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "trees",
            "case_work",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "G",
          "problem_id": 31518,
          "problem_name": "Triple Sevens",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "H",
          "problem_id": 31528,
          "problem_name": "Diverse Contest",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "bruteforcing",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "bruteforcing",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "I",
          "problem_id": 31517,
          "problem_name": "Training",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "J",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "K",
          "problem_id": 31509,
          "problem_name": "Cramming for Finals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4158,
          "problem_letter": "L",
          "problem_id": 31512,
          "problem_name": "Matrix Fraud",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4159,
      "contest_name": "Division 1",
      "contest_full_name": "2023 South Central USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2023 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4159,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "B",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "C",
          "problem_id": 31509,
          "problem_name": "Cramming for Finals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "E",
          "problem_id": 31510,
          "problem_name": "Eccentric Excursion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "tree",
            "case work",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "trees",
            "case_work",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "F",
          "problem_id": 31512,
          "problem_name": "Matrix Fraud",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "G",
          "problem_id": 31513,
          "problem_name": "On-Call Team",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "bruteforcing",
            "hall's theorem"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "H",
          "problem_id": 31514,
          "problem_name": "Range Editing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "I",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "J",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "K",
          "problem_id": 31525,
          "problem_name": "Streets Behind",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "L",
          "problem_id": 31515,
          "problem_name": "Segment Drawing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4159,
          "problem_letter": "M",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4160,
      "contest_name": "Division 2",
      "contest_full_name": "2023 South Central USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2023 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4160,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "B",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "C",
          "problem_id": 31519,
          "problem_name": "A Cappella Recording",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "E",
          "problem_id": 31507,
          "problem_name": "Acceptable Seating Arrangements",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "F",
          "problem_id": 31521,
          "problem_name": "Four Die Rolls",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "G",
          "problem_id": 31526,
          "problem_name": "Rampant Growth",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "H",
          "problem_id": 31518,
          "problem_name": "Triple Sevens",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "I",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "J",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "K",
          "problem_id": 31525,
          "problem_name": "Streets Behind",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "L",
          "problem_id": 31517,
          "problem_name": "Training",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4160,
          "problem_letter": "M",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4161,
      "contest_name": "Division 1",
      "contest_full_name": "2023 Mid-Atlantic USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2023 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4161,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "B",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "C",
          "problem_id": 31509,
          "problem_name": "Cramming for Finals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "E",
          "problem_id": 31510,
          "problem_name": "Eccentric Excursion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "tree",
            "case work",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "trees",
            "case_work",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "F",
          "problem_id": 31512,
          "problem_name": "Matrix Fraud",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "G",
          "problem_id": 31513,
          "problem_name": "On-Call Team",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "bruteforcing",
            "hall's theorem"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "H",
          "problem_id": 31514,
          "problem_name": "Range Editing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "I",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "J",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "K",
          "problem_id": 31525,
          "problem_name": "Streets Behind",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "L",
          "problem_id": 31515,
          "problem_name": "Segment Drawing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4161,
          "problem_letter": "M",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4162,
      "contest_name": "Division 2",
      "contest_full_name": "2023 Mid-Atlantic USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2023 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4162,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "B",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "C",
          "problem_id": 31519,
          "problem_name": "A Cappella Recording",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "E",
          "problem_id": 31507,
          "problem_name": "Acceptable Seating Arrangements",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "F",
          "problem_id": 31521,
          "problem_name": "Four Die Rolls",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "G",
          "problem_id": 31526,
          "problem_name": "Rampant Growth",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "H",
          "problem_id": 31518,
          "problem_name": "Triple Sevens",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "I",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "J",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "K",
          "problem_id": 31525,
          "problem_name": "Streets Behind",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "L",
          "problem_id": 31517,
          "problem_name": "Training",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4162,
          "problem_letter": "M",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4163,
      "contest_name": "Division 1",
      "contest_full_name": "2023 Southeast USA Regional Programming Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2023 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4163,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "B",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "C",
          "problem_id": 31509,
          "problem_name": "Cramming for Finals",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "E",
          "problem_id": 31510,
          "problem_name": "Eccentric Excursion",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "greedy",
            "tree",
            "case work",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "greedy",
            "trees",
            "case_work",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "F",
          "problem_id": 31512,
          "problem_name": "Matrix Fraud",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "prefix sum",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "G",
          "problem_id": 31513,
          "problem_name": "On-Call Team",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "bitmask",
            "bruteforcing",
            "hall's theorem"
          ],
          "tag_keys": [
            "bitmask",
            "bruteforcing",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "H",
          "problem_id": 31514,
          "problem_name": "Range Editing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "I",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "J",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "K",
          "problem_id": 31525,
          "problem_name": "Streets Behind",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "L",
          "problem_id": 31515,
          "problem_name": "Segment Drawing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "geometry",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4163,
          "problem_letter": "M",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4164,
      "contest_name": "Division 2",
      "contest_full_name": "2023 Southeast USA Regional Programming Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2023 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4164,
          "problem_letter": "A",
          "problem_id": 31506,
          "problem_name": "ABC String",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "B",
          "problem_id": 31523,
          "problem_name": "Balanced Tree Path",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "tree",
            "depth-first search",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "trees",
            "dfs",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "C",
          "problem_id": 31519,
          "problem_name": "A Cappella Recording",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "D",
          "problem_id": 31522,
          "problem_name": "Ordered Problem Set",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "E",
          "problem_id": 31507,
          "problem_name": "Acceptable Seating Arrangements",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "constructive",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "F",
          "problem_id": 31521,
          "problem_name": "Four Die Rolls",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "G",
          "problem_id": 31526,
          "problem_name": "Rampant Growth",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "H",
          "problem_id": 31518,
          "problem_name": "Triple Sevens",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "I",
          "problem_id": 31511,
          "problem_name": "Item Selection",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "J",
          "problem_id": 31516,
          "problem_name": "Sequence Guessing",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "K",
          "problem_id": 31525,
          "problem_name": "Streets Behind",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "L",
          "problem_id": 31517,
          "problem_name": "Training",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4164,
          "problem_letter": "M",
          "problem_id": 31520,
          "problem_name": "Champernowne Verification",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4173,
      "contest_name": "The 2024 ICPC Asia Pacific Championship",
      "contest_full_name": "The 2024 ICPC Asia Pacific Championship",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Asia Pacific Championship",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4173,
          "problem_letter": "A",
          "problem_id": 31593,
          "problem_name": "Antiparticle Antiphysics",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "implementation",
            "constructive",
            "finding invariants"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "constructive",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "B",
          "problem_id": 31594,
          "problem_name": "Attraction Score",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "graph theory",
            "sorting",
            "case work",
            "planar graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "sorting",
            "case_work",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "C",
          "problem_id": 31595,
          "problem_name": "Bit Counting Sequence",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "D",
          "problem_id": 31596,
          "problem_name": "Bánh Bò",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "bitmask",
            "combinatorics",
            "dynamic programming",
            "dynamic programming using bitfield",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "combinatorics",
            "dp",
            "dp_bitfield",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "E",
          "problem_id": 31597,
          "problem_name": "Duplicates",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "F",
          "problem_id": 31598,
          "problem_name": "Forming Groups",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "number theory",
            "set / map",
            "set / map by trees",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "number_theory",
            "set",
            "tree_set",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "G",
          "problem_id": 31599,
          "problem_name": "Personality Test",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bruteforcing",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "bruteforcing",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "H",
          "problem_id": 31600,
          "problem_name": "Pho Restaurant",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "I",
          "problem_id": 31601,
          "problem_name": "Symmetric Boundary",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "convex hull",
            "line segment intersection check",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "line_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "J",
          "problem_id": 31602,
          "problem_name": "There and Back Again",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "K",
          "problem_id": 31603,
          "problem_name": "Tree Quiz",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "binary search",
            "euler tour technique",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "binary_search",
            "euler_tour_technique",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "L",
          "problem_id": 31604,
          "problem_name": "XOR Operations",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "linear algebra",
            "gaussian elimination",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "gaussian_elimination",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "M",
          "problem_id": 31605,
          "problem_name": "Zig-zag",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "combinatorics",
            "inclusion and exclusion",
            "fast fourier transform",
            "generating function"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "inclusion_and_exclusion",
            "fft",
            "generating_function"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "generating_function",
              "name": "generating function",
              "boj_tag_id": 198
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "PA",
          "problem_id": 31590,
          "problem_name": "Candy Compress",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "string",
            "rope"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "rope"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "rope",
              "name": "rope",
              "boj_tag_id": 159
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "PB",
          "problem_id": 31591,
          "problem_name": "Combination Lock",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "bitmask",
            "primality test",
            "dynamic programming using bitfield",
            "traceback"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "bitmask",
            "primality_test",
            "dp_bitfield",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "PC",
          "problem_id": 31592,
          "problem_name": "Online Assignment",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "ad-hoc",
            "differential cryptanalysis"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc",
            "differential_cryptanalysis"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "differential_cryptanalysis",
              "name": "differential cryptanalysis",
              "boj_tag_id": 185
            }
          ]
        },
        {
          "contest_id": 4173,
          "problem_letter": "PD",
          "problem_id": 11748,
          "problem_name": "Squeeze the Cylinders",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4195,
      "contest_name": "The 2024 ICPC Latin America Championship",
      "contest_full_name": "The 2024 ICPC Latin America Championship",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Championship",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4195,
          "problem_letter": "A",
          "problem_id": 31751,
          "problem_name": "Almost Aligned",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "implementation",
            "geometry",
            "case work",
            "arbitrary precision / big integers",
            "convex hull trick",
            "numerical analysis"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "geometry",
            "case_work",
            "arbitrary_precision",
            "cht",
            "numerical_analysis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "numerical_analysis",
              "name": "numerical analysis",
              "boj_tag_id": 122
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "B",
          "problem_id": 31752,
          "problem_name": "Beating the Record",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "dynamic programming",
            "binary search",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "binary_search",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "C",
          "problem_id": 31753,
          "problem_name": "Clever Cell Choices",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "game theory",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "game_theory",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "D",
          "problem_id": 31754,
          "problem_name": "DiviDuelo",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "game theory",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "game_theory",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "E",
          "problem_id": 31755,
          "problem_name": "Expanding STACKS!",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "bipartite graph"
          ],
          "tag_keys": [
            "graphs",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "F",
          "problem_id": 31756,
          "problem_name": "Fair Distribution",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "number theory",
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "G",
          "problem_id": 31757,
          "problem_name": "Greek Casino",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "probability theory",
            "harmonic number"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "probability",
            "harmonic_number"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "harmonic_number",
              "name": "harmonic number",
              "boj_tag_id": 241
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "H",
          "problem_id": 31758,
          "problem_name": "Harmonic Operations",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "knuth–morris–pratt",
            "prefix sum",
            "string",
            "z"
          ],
          "tag_keys": [
            "kmp",
            "prefix_sum",
            "string",
            "z"
          ],
          "tag_details": [
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "I",
          "problem_id": 31759,
          "problem_name": "Insects, Mathematics, Accuracy, and Efficiency",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "convex hull",
            "geometry",
            "area of a polygon",
            "prefix sum"
          ],
          "tag_keys": [
            "binary_search",
            "convex_hull",
            "geometry",
            "polygon_area",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "J",
          "problem_id": 31760,
          "problem_name": "Joys of Trading",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "K",
          "problem_id": 31761,
          "problem_name": "KMOP",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4195,
          "problem_letter": "L",
          "problem_id": 31762,
          "problem_name": "LED Matrix",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4210,
      "contest_name": "ICPC World Finals 2022",
      "contest_full_name": "ICPC World Finals 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4210,
          "problem_letter": "P",
          "problem_id": 31890,
          "problem_name": "Turning Red",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "Q",
          "problem_id": 31891,
          "problem_name": "Doing the Container Shuffle",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "data structures",
            "segment tree",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "segtree",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "R",
          "problem_id": 31892,
          "problem_name": "Zoo Management",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "data structures",
            "string",
            "segment tree",
            "case work",
            "knuth–morris–pratt",
            "articulation points and bridges",
            "biconnected component",
            "cactus",
            "finding invariants",
            "z"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "string",
            "segtree",
            "case_work",
            "kmp",
            "articulation",
            "bcc",
            "cactus",
            "invariant",
            "z"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "S",
          "problem_id": 31893,
          "problem_name": "Bridging the Gap",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "T",
          "problem_id": 31894,
          "problem_name": "Carl’s Vacation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "geometry; 3d",
            "ternary search",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "ternary_search",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "U",
          "problem_id": 31895,
          "problem_name": "Toy Train Tracks",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "V",
          "problem_id": 31896,
          "problem_name": "Three Kinds of Dice",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "geometry",
            "probability theory",
            "convex hull",
            "linear programming"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "probability",
            "convex_hull",
            "linear_programming"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "W",
          "problem_id": 31897,
          "problem_name": "Riddle of the Sphinx",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "ad-hoc",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "X",
          "problem_id": 31898,
          "problem_name": "Quartets",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "dynamic programming",
            "bruteforcing",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "bruteforcing",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "Y",
          "problem_id": 31899,
          "problem_name": "Compression",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4210,
          "problem_letter": "Z",
          "problem_id": 31900,
          "problem_name": "Archaeological Recovery",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [
            "mathematics",
            "ad-hoc",
            "bitmask",
            "linear algebra",
            "meet in the middle"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "bitmask",
            "linear_algebra",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4211,
      "contest_name": "ICPC World Finals 2023",
      "contest_full_name": "ICPC World Finals 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > World Finals",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4211,
          "problem_letter": "A",
          "problem_id": 31897,
          "problem_name": "Riddle of the Sphinx",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "ad-hoc",
            "linear algebra"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "linear_algebra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "B",
          "problem_id": 31901,
          "problem_name": "Schedule",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "mathematics",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "C",
          "problem_id": 31896,
          "problem_name": "Three Kinds of Dice",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "geometry",
            "probability theory",
            "convex hull",
            "linear programming"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "probability",
            "convex_hull",
            "linear_programming"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "D",
          "problem_id": 31894,
          "problem_name": "Carl’s Vacation",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "geometry; 3d",
            "ternary search",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "ternary_search",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "E",
          "problem_id": 31902,
          "problem_name": "A Recurring Problem",
          "problem_difficulty": "Ruby II",
          "difficulty_level": 29,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4211,
          "problem_letter": "F",
          "problem_id": 31903,
          "problem_name": "Tilting Tiles",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "number theory",
            "permutation cycle decomposition",
            "knuth–morris–pratt",
            "chinese remainder theorem",
            "z"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "number_theory",
            "permutation_cycle_decomposition",
            "kmp",
            "crt",
            "z"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "G",
          "problem_id": 31890,
          "problem_name": "Turning Red",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "flood-fill"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "H",
          "problem_id": 31904,
          "problem_name": "Jet Lag",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "I",
          "problem_id": 31905,
          "problem_name": "Waterworld",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "J",
          "problem_id": 31893,
          "problem_name": "Bridging the Gap",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4211,
          "problem_letter": "K",
          "problem_id": 31906,
          "problem_name": "Alea Iacta Est",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4226,
      "contest_name": "North America Championship 2024",
      "contest_full_name": "North America Championship 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4226,
          "problem_letter": "A",
          "problem_id": 31949,
          "problem_name": "Arrested Development",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "B",
          "problem_id": 31950,
          "problem_name": "Champernowne Substring",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "C",
          "problem_id": 31951,
          "problem_name": "Comparator",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bit set",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "bitset",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "D",
          "problem_id": 31952,
          "problem_name": "Dihedral Group",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "E",
          "problem_id": 31953,
          "problem_name": "House Deconstruction",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "data structures",
            "graph theory",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "F",
          "problem_id": 31954,
          "problem_name": "Magic Bean",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "G",
          "problem_id": 31955,
          "problem_name": "Manhattan Walk",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "H",
          "problem_id": 31956,
          "problem_name": "MountainCraft",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "I",
          "problem_id": 31957,
          "problem_name": "Not Another Constructive!",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "J",
          "problem_id": 31958,
          "problem_name": "Passport Stamps",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "K",
          "problem_id": 31959,
          "problem_name": "Shadow Line",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "L",
          "problem_id": 31960,
          "problem_name": "Square of Triangles",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4226,
          "problem_letter": "M",
          "problem_id": 31961,
          "problem_name": "Training, Round 2",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4244,
      "contest_name": "2015 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2015 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2015,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 4244,
          "problem_letter": "A",
          "problem_id": 11517,
          "problem_name": "Positive Con Sequences",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "case work"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "B",
          "problem_id": 11514,
          "problem_name": "Refract Facts",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "binary search",
            "physics"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "physics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "physics",
              "name": "physics",
              "boj_tag_id": 116
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "C",
          "problem_id": 11519,
          "problem_name": "Hounded by Indecision",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "D",
          "problem_id": 32010,
          "problem_name": "Avoiding an Arrrgument",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "bruteforcing",
            "greedy",
            "implementation"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "E",
          "problem_id": 11513,
          "problem_name": "Kinfolk",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "case work",
            "implementation",
            "lowest common ancestor",
            "tree"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "lca",
            "trees"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "F",
          "problem_id": 32011,
          "problem_name": "Of the Children",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "binary search"
          ],
          "tag_keys": [
            "dp",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "G",
          "problem_id": 32012,
          "problem_name": "Talking About Numbers",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "case work",
            "implementation"
          ],
          "tag_keys": [
            "case_work",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4244,
          "problem_letter": "H",
          "problem_id": 32013,
          "problem_name": "The Scheming Gardener",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4245,
      "contest_name": "2016 Mid-Atlantic Regional Programming Contest",
      "contest_full_name": "2016 Mid-Atlantic Regional Programming Contest",
      "contest_year": 2016,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 4245,
          "problem_letter": "A",
          "problem_id": 13748,
          "problem_name": "Periodic Strings",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4245,
          "problem_letter": "B",
          "problem_id": 13736,
          "problem_name": "Around and Around We Go",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4245,
          "problem_letter": "C",
          "problem_id": 13734,
          "problem_name": "Buggy Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 4245,
          "problem_letter": "D",
          "problem_id": 13743,
          "problem_name": "Enclosure",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4245,
          "problem_letter": "E",
          "problem_id": 13735,
          "problem_name": "Construction Toy",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4245,
          "problem_letter": "F",
          "problem_id": 13746,
          "problem_name": "Islands",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 4245,
          "problem_letter": "G",
          "problem_id": 13738,
          "problem_name": "Ghostbusters 2",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "binary search",
            "parametric search",
            "strongly connected component",
            "2-sat"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "parametric_search",
            "scc",
            "2_sat"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            },
            {
              "key": "2_sat",
              "name": "2-sat",
              "boj_tag_id": 1
            }
          ]
        },
        {
          "contest_id": 4245,
          "problem_letter": "H",
          "problem_id": 32014,
          "problem_name": "Painting the Floodwall",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "binary search",
            "value / coordinate compression",
            "dynamic programming"
          ],
          "tag_keys": [
            "binary_search",
            "coordinate_compression",
            "dp"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4246,
      "contest_name": "2017 Mid-Atlantic USA Regional Contest",
      "contest_full_name": "2017 Mid-Atlantic USA Regional Contest",
      "contest_year": 2017,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 4246,
          "problem_letter": "A",
          "problem_id": 15121,
          "problem_name": "Star Arrangements",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "B",
          "problem_id": 15110,
          "problem_name": "Security Badge",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "sweeping"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "C",
          "problem_id": 15119,
          "problem_name": "Purple Rain",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "D",
          "problem_id": 15111,
          "problem_name": "Avoiding Airports",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "convex hull trick",
            "dynamic programming"
          ],
          "tag_keys": [
            "cht",
            "dp"
          ],
          "tag_details": [
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "E",
          "problem_id": 15107,
          "problem_name": "Rainbow Roads",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "euler tour technique"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "euler_tour_technique"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "F",
          "problem_id": 15114,
          "problem_name": "Spinning Up Palindromes",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "G",
          "problem_id": 15112,
          "problem_name": "Long Long Strings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4246,
          "problem_letter": "H",
          "problem_id": 32015,
          "problem_name": "Haiku Formatting",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "case work",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "case_work",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4247,
      "contest_name": "2018 Mid-Atlantic USA Regional Contest",
      "contest_full_name": "2018 Mid-Atlantic USA Regional Contest",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional",
      "problem_count": 8,
      "problems": [
        {
          "contest_id": 4247,
          "problem_letter": "A",
          "problem_id": 32016,
          "problem_name": "Lost is Close to Lose",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "parsing",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "parsing",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4247,
          "problem_letter": "B",
          "problem_id": 32017,
          "problem_name": "Orphan Backups",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4247,
          "problem_letter": "C",
          "problem_id": 32018,
          "problem_name": "Collusion on Two Wheels",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "sweeping",
            "parametric search"
          ],
          "tag_keys": [
            "sweeping",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4247,
          "problem_letter": "D",
          "problem_id": 32019,
          "problem_name": "Find Poly",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "depth-first search",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4247,
          "problem_letter": "E",
          "problem_id": 32020,
          "problem_name": "Neutral Ground",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow",
            "max-flow min-cut theorem"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "mfmc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            }
          ]
        },
        {
          "contest_id": 4247,
          "problem_letter": "F",
          "problem_id": 32021,
          "problem_name": "Picking Up the Dice",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "knapsack",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "knapsack",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4247,
          "problem_letter": "G",
          "problem_id": 32022,
          "problem_name": "Playing the Slots",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4247,
          "problem_letter": "H",
          "problem_id": 32023,
          "problem_name": "Tightly Packed",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4248,
      "contest_name": "2018 Southern California Regional",
      "contest_full_name": "2018 Southern California Regional",
      "contest_year": 2018,
      "contest_path": "ICPC > Regionals > North America > Southern California Regional",
      "problem_count": 6,
      "problems": [
        {
          "contest_id": 4248,
          "problem_letter": "1",
          "problem_id": 32017,
          "problem_name": "Orphan Backups",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4248,
          "problem_letter": "11",
          "problem_id": 32021,
          "problem_name": "Picking Up the Dice",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "knapsack",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "knapsack",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4248,
          "problem_letter": "2",
          "problem_id": 32016,
          "problem_name": "Lost is Close to Lose",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "set / map by hashing",
            "implementation",
            "parsing",
            "string",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "hash_set",
            "implementation",
            "parsing",
            "string",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4248,
          "problem_letter": "3",
          "problem_id": 32018,
          "problem_name": "Collusion on Two Wheels",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "sweeping",
            "parametric search"
          ],
          "tag_keys": [
            "sweeping",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4248,
          "problem_letter": "5",
          "problem_id": 32022,
          "problem_name": "Playing the Slots",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4248,
          "problem_letter": "7",
          "problem_id": 32019,
          "problem_name": "Find Poly",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "depth-first search",
            "disjoint set",
            "graph theory",
            "graph traversal",
            "parsing",
            "string"
          ],
          "tag_keys": [
            "data_structures",
            "dfs",
            "disjoint_set",
            "graphs",
            "graph_traversal",
            "parsing",
            "string"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4253,
      "contest_name": "2024 Japan Domestic Contest",
      "contest_full_name": "2024 Japan Domestic Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 4253,
          "problem_letter": "A",
          "problem_id": 32046,
          "problem_name": "Snacks within 300 Yen",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "B",
          "problem_id": 32047,
          "problem_name": "Overtaking",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "C",
          "problem_id": 32048,
          "problem_name": "Honeycomb Distance",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "case work"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bfs",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "D",
          "problem_id": 32049,
          "problem_name": "A Bug That's Not a Pill Bug",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "E",
          "problem_id": 32050,
          "problem_name": "Colorful Residential Area",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "F",
          "problem_id": 32051,
          "problem_name": "Billiards",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "data structures",
            "binary search",
            "set / map",
            "simulation",
            "case work",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "binary_search",
            "set",
            "simulation",
            "case_work",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "G",
          "problem_id": 32052,
          "problem_name": "Two Sets of Cards",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "constructive",
            "case work",
            "knapsack"
          ],
          "tag_keys": [
            "constructive",
            "case_work",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "H",
          "problem_id": 32053,
          "problem_name": "Blocking the Way",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 4253,
          "problem_letter": "I",
          "problem_id": 32054,
          "problem_name": "All Survived?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4254,
      "contest_name": "The 2022 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2022 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4254,
          "problem_letter": "A",
          "problem_id": 32055,
          "problem_name": "Storing Eggs",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "geometry",
            "binary search",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "geometry",
            "binary_search",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "B",
          "problem_id": 32056,
          "problem_name": "Magical Barrier",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "C",
          "problem_id": 32057,
          "problem_name": "Nightmare Brother",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "D",
          "problem_id": 32058,
          "problem_name": "City Hall",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "graph theory",
            "segment tree",
            "shortest path",
            "dijkstra's",
            "convex hull trick",
            "li–chao tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "segtree",
            "shortest_path",
            "dijkstra",
            "cht",
            "li_chao_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "E",
          "problem_id": 32059,
          "problem_name": "Substring Sort",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "hashing"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "F",
          "problem_id": 32060,
          "problem_name": "Doubled GCD",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "data structures",
            "greedy",
            "number theory",
            "priority queue"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "greedy",
            "number_theory",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "G",
          "problem_id": 32061,
          "problem_name": "The Only Mode",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "divide and conquer",
            "multidimensional segment tree",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "divide_and_conquer",
            "multi_segtree",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "multi_segtree",
              "name": "multidimensional segment tree",
              "boj_tag_id": 166
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "H",
          "problem_id": 32062,
          "problem_name": "Grid Game",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "I",
          "problem_id": 32063,
          "problem_name": "Contingency Plan",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "J",
          "problem_id": 32064,
          "problem_name": "Sharing Bread",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "combinatorics",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "K",
          "problem_id": 32065,
          "problem_name": "Short Function",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "L",
          "problem_id": 32066,
          "problem_name": "Increase the Toll Fees",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "graph theory",
            "tree",
            "disjoint set",
            "minimum spanning tree",
            "lowest common ancestor",
            "sparse table"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "trees",
            "disjoint_set",
            "mst",
            "lca",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "M",
          "problem_id": 32067,
          "problem_name": "Game Show",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "PA",
          "problem_id": 26849,
          "problem_name": "Non Classical Problem",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "PB",
          "problem_id": 26853,
          "problem_name": "Uniform Maker",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "PC",
          "problem_id": 26862,
          "problem_name": "Maxdifficent Group",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4254,
          "problem_letter": "PD",
          "problem_id": 26857,
          "problem_name": "Cell Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive",
            "dynamic programming",
            "game theory",
            "knapsack"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "dp",
            "game_theory",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4255,
      "contest_name": "The 2023 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2023 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4255,
          "problem_letter": "A",
          "problem_id": 32076,
          "problem_name": "Easy as ABC",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "B",
          "problem_id": 32077,
          "problem_name": "Button Pressing",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc",
            "prefix sum",
            "finding invariants"
          ],
          "tag_keys": [
            "ad_hoc",
            "prefix_sum",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "C",
          "problem_id": 32078,
          "problem_name": "Cursed Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive",
            "randomization"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "D",
          "problem_id": 32079,
          "problem_name": "Spaceship Exploration",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "binary search",
            "convex hull",
            "line segment intersection check",
            "point in convex polygon check"
          ],
          "tag_keys": [
            "geometry",
            "binary_search",
            "convex_hull",
            "line_intersection",
            "point_in_convex_polygon"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "point_in_convex_polygon",
              "name": "point in convex polygon check",
              "boj_tag_id": 56
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "E",
          "problem_id": 32080,
          "problem_name": "Merge Not Sort",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "F",
          "problem_id": 32081,
          "problem_name": "Maximize The Value",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping",
            "offline queries"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "G",
          "problem_id": 32082,
          "problem_name": "Grid Game 2",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "euclidean algorithm",
            "game theory",
            "mathematics",
            "number theory",
            "prefix sum",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "euclidean",
            "game_theory",
            "math",
            "number_theory",
            "prefix_sum",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "H",
          "problem_id": 32083,
          "problem_name": "Twin Friends",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "prefix sum",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "prefix_sum",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "I",
          "problem_id": 32084,
          "problem_name": "Contingency Plan 2",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bipartite matching",
            "directed acyclic graph",
            "data structures",
            "disjoint set",
            "graph theory",
            "topological sorting"
          ],
          "tag_keys": [
            "bipartite_matching",
            "dag",
            "data_structures",
            "disjoint_set",
            "graphs",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "J",
          "problem_id": 32085,
          "problem_name": "Count BFS Graph",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "K",
          "problem_id": 32086,
          "problem_name": "Deck-Building Game",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "divide and conquer",
            "dynamic programming",
            "sum over subsets dynamic programming",
            "fast fourier transform",
            "mathematics"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "dp",
            "dp_sum_over_subsets",
            "fft",
            "math"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "L",
          "problem_id": 32087,
          "problem_name": "Palindromic Parentheses",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "M",
          "problem_id": 32088,
          "problem_name": "Triangle Construction",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "PA",
          "problem_id": 26849,
          "problem_name": "Non Classical Problem",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "PB",
          "problem_id": 32067,
          "problem_name": "Game Show",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "PC",
          "problem_id": 32075,
          "problem_name": "Organizing Party",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "binary search",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "binary_search",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4255,
          "problem_letter": "PD",
          "problem_id": 32063,
          "problem_name": "Contingency Plan",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4292,
      "contest_name": "ICPC World Finals 2024",
      "contest_full_name": "ICPC World Finals 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > World Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4292,
          "problem_letter": "A",
          "problem_id": 32420,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4292,
          "problem_letter": "B",
          "problem_id": 32421,
          "problem_name": "Bingo for the Win!",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "C",
          "problem_id": 32422,
          "problem_name": "Citizenship",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "prefix sum"
          ],
          "tag_keys": [
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "D",
          "problem_id": 32423,
          "problem_name": "Doubles Horseback Wrestling",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "sweeping"
          ],
          "tag_keys": [
            "greedy",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "E",
          "problem_id": 32424,
          "problem_name": "Flipping Container",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "bruteforcing",
            "case work",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "bruteforcing",
            "case_work",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "F",
          "problem_id": 32425,
          "problem_name": "Friendly Rivalry",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search",
            "knapsack",
            "traceback"
          ],
          "tag_keys": [
            "binary_search",
            "knapsack",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "G",
          "problem_id": 32426,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4292,
          "problem_letter": "H",
          "problem_id": 32427,
          "problem_name": "Maxwell’s Demon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4292,
          "problem_letter": "I",
          "problem_id": 32428,
          "problem_name": "Steppe on It",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "tree",
            "binary search"
          ],
          "tag_keys": [
            "greedy",
            "trees",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "J",
          "problem_id": 32429,
          "problem_name": "The Silk Road . . . with Robots!",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "K",
          "problem_id": 32430,
          "problem_name": "Tower of noiHa",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "implementation",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4292,
          "problem_letter": "L",
          "problem_id": 32431,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4298,
      "contest_name": "Maratona de Programação da SBC 2024",
      "contest_full_name": "Maratona de Programação da SBC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4298,
          "problem_letter": "A",
          "problem_id": 32432,
          "problem_name": "Attention to the Meeting",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "B",
          "problem_id": 32433,
          "problem_name": "Bacon Number",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "ad-hoc",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "ad_hoc",
            "bfs",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "C",
          "problem_id": 32434,
          "problem_name": "Couple of BipBop",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "stack",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "data_structures",
            "stack",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "D",
          "problem_id": 32435,
          "problem_name": "Decrease the Boss Strength",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "exponentiation by squaring",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "exponentiation_by_squaring",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "E",
          "problem_id": 32436,
          "problem_name": "Enigma of the Jewelry Case",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "F",
          "problem_id": 32437,
          "problem_name": "Fractions are better when continued",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "G",
          "problem_id": 32438,
          "problem_name": "Geography of Rivers",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "tree",
            "smaller to larger technique",
            "heavy-light decomposition"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "smaller_to_larger",
            "hld"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "hld",
              "name": "heavy-light decomposition",
              "boj_tag_id": 35
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "H",
          "problem_id": 32439,
          "problem_name": "Harmonics with Interference",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "I",
          "problem_id": 32440,
          "problem_name": "Ingredients that may Harm You",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "inclusion and exclusion",
            "mathematics",
            "number theory",
            "primality test",
            "sieve of eratosthenes"
          ],
          "tag_keys": [
            "inclusion_and_exclusion",
            "math",
            "number_theory",
            "primality_test",
            "sieve"
          ],
          "tag_details": [
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "J",
          "problem_id": 32441,
          "problem_name": "Journey through Colors",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "constructive",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "constructive",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "K",
          "problem_id": 32442,
          "problem_name": "Karamell",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 4298,
          "problem_letter": "L",
          "problem_id": 32443,
          "problem_name": "Lecographically Maximum",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4303,
      "contest_name": "TOPC 2024",
      "contest_full_name": "TOPC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4303,
          "problem_letter": "A",
          "problem_id": 32449,
          "problem_name": "Animal Farm",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "B",
          "problem_id": 32450,
          "problem_name": "Business Magic",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "C",
          "problem_id": 32451,
          "problem_name": "Cards",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "segment tree",
            "constructive"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "segtree",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "D",
          "problem_id": 32452,
          "problem_name": "Disbursement on Quarantine Policy",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory",
            "probability theory",
            "modular multiplicative inverse",
            "linearity of expectation",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "probability",
            "modular_multiplicative_inverse",
            "linearity_of_expectation",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "E",
          "problem_id": 32453,
          "problem_name": "Effcient Slabstones Rearrangement",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "F",
          "problem_id": 32454,
          "problem_name": "Fibonacci Lucky Numbers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "number theory",
            "exponentiation by squaring",
            "euler totient function",
            "pisano period"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "exponentiation_by_squaring",
            "euler_phi",
            "pisano"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            },
            {
              "key": "pisano",
              "name": "pisano period",
              "boj_tag_id": 232
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "G",
          "problem_id": 32455,
          "problem_name": "Game of Rounding",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "convex hull trick",
            "li–chao tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "cht",
            "li_chao_tree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "H",
          "problem_id": 32456,
          "problem_name": "Harmonious Passage of Magicians",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "I",
          "problem_id": 32457,
          "problem_name": "In Search of the Lost Array",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "J",
          "problem_id": 32458,
          "problem_name": "Just Round Down",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "K",
          "problem_id": 32459,
          "problem_name": "Kingdom’s Development Plan",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "priority queue",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "priority_queue",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4303,
          "problem_letter": "L",
          "problem_id": 32460,
          "problem_name": "Lexicopolis",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "value / coordinate compression",
            "exponentiation by squaring",
            "graph theory",
            "hashing",
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "binary_search",
            "coordinate_compression",
            "exponentiation_by_squaring",
            "graphs",
            "hashing",
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4304,
      "contest_name": "GCPC 2024",
      "contest_full_name": "GCPC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4304,
          "problem_letter": "A",
          "problem_id": 32477,
          "problem_name": "Alien Attack 2",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "breadth-first search",
            "depth-first search",
            "disjoint set"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "bfs",
            "dfs",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "B",
          "problem_id": 32478,
          "problem_name": "Bookshelf Bottleneck",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "C",
          "problem_id": 32479,
          "problem_name": "Copycat Catcher",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "string",
            "hashing"
          ],
          "tag_keys": [
            "string",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "D",
          "problem_id": 32480,
          "problem_name": "Dark Alley",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "E",
          "problem_id": 32481,
          "problem_name": "Even Odd Game",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "dynamic programming",
            "game theory"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "F",
          "problem_id": 32482,
          "problem_name": "Fair Fruitcake Fragmenting",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "geometry",
            "case work",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "case_work",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "G",
          "problem_id": 32483,
          "problem_name": "Geometric Gridlock",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "H",
          "problem_id": 32484,
          "problem_name": "Headline Heat",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "string",
            "tree",
            "randomization",
            "trie",
            "aho-corasick"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "trees",
            "randomization",
            "trie",
            "aho_corasick"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            },
            {
              "key": "aho_corasick",
              "name": "aho-corasick",
              "boj_tag_id": 2
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "I",
          "problem_id": 32485,
          "problem_name": "Interference",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "J",
          "problem_id": 32486,
          "problem_name": "Jigsaw Present",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing",
            "meet in the middle"
          ],
          "tag_keys": [
            "bruteforcing",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "K",
          "problem_id": 32487,
          "problem_name": "Kitten of Chaos",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "L",
          "problem_id": 32488,
          "problem_name": "Laundry",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4304,
          "problem_letter": "M",
          "problem_id": 32489,
          "problem_name": "Musical Mending",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "sorting",
            "ternary search"
          ],
          "tag_keys": [
            "sorting",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4310,
      "contest_name": "ICPC North America Qualifier 2024",
      "contest_full_name": "ICPC North America Qualifier 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4310,
          "problem_letter": "A",
          "problem_id": 32496,
          "problem_name": "Balatro",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "divide and conquer",
            "divide and conquer optimization",
            "dynamic programming",
            "prefix sum",
            "sorting"
          ],
          "tag_keys": [
            "divide_and_conquer",
            "divide_and_conquer_optimization",
            "dp",
            "prefix_sum",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "B",
          "problem_id": 32497,
          "problem_name": "Bikes and Barricades",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "C",
          "problem_id": 32498,
          "problem_name": "Call for Problems",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "D",
          "problem_id": 32499,
          "problem_name": "Colorful Trees",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "E",
          "problem_id": 32500,
          "problem_name": "Dishonest Lottery",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "F",
          "problem_id": 32501,
          "problem_name": "Ellipse Eclipse",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "geometry",
            "binary search",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "G",
          "problem_id": 32502,
          "problem_name": "Gears and Axles",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "H",
          "problem_id": 32503,
          "problem_name": "Genetic Reconstruction",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "bruteforcing",
            "data structures",
            "disjoint set",
            "greedy"
          ],
          "tag_keys": [
            "bruteforcing",
            "data_structures",
            "disjoint_set",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "I",
          "problem_id": 32504,
          "problem_name": "Light Up",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "simulation",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "simulation",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "J",
          "problem_id": 32505,
          "problem_name": "Menger Sponge",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "mathematics",
            "recursion"
          ],
          "tag_keys": [
            "implementation",
            "math",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "K",
          "problem_id": 32506,
          "problem_name": "Rhythm Flow",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4310,
          "problem_letter": "L",
          "problem_id": 32507,
          "problem_name": "Snake",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "backtracking",
            "depth-first search",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "backtracking",
            "dfs",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4313,
      "contest_name": "BAPC 2024 Preliminaries",
      "contest_full_name": "BAPC 2024 Preliminaries",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4313,
          "problem_letter": "A",
          "problem_id": 32537,
          "problem_name": "Awkward Auction",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "B",
          "problem_id": 32538,
          "problem_name": "Battle of Nieuwpoort",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "C",
          "problem_id": 32539,
          "problem_name": "Chaotic Cables",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "bitmask",
            "graph theory"
          ],
          "tag_keys": [
            "bitmask",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "D",
          "problem_id": 32540,
          "problem_name": "Dialling Digits",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "E",
          "problem_id": 32541,
          "problem_name": "Expected Error",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "F",
          "problem_id": 32542,
          "problem_name": "Fractal Area",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "geometry",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "G",
          "problem_id": 32543,
          "problem_name": "Giganotosaurus Game",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "H",
          "problem_id": 32544,
          "problem_name": "Human Pyramid",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "I",
          "problem_id": 32545,
          "problem_name": "Investment Investigation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "data structures",
            "segment tree",
            "set / map",
            "simulation",
            "priority queue",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "segtree",
            "set",
            "simulation",
            "priority_queue",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "J",
          "problem_id": 32546,
          "problem_name": "Joppiesaus Jailbreak",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "K",
          "problem_id": 32547,
          "problem_name": "Kitchens of Königsberg",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "bruteforcing",
            "backtracking",
            "randomization"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "backtracking",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 4313,
          "problem_letter": "L",
          "problem_id": 32548,
          "problem_name": "Lawful Limits",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4314,
      "contest_name": "NCPC 2024",
      "contest_full_name": "NCPC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4314,
          "problem_letter": "A",
          "problem_id": 32549,
          "problem_name": "Avoiding the Abyss",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "B",
          "problem_id": 32550,
          "problem_name": "Baseball Court",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "combinatorics",
            "dynamic programming",
            "inclusion and exclusion",
            "mathematics"
          ],
          "tag_keys": [
            "combinatorics",
            "dp",
            "inclusion_and_exclusion",
            "math"
          ],
          "tag_details": [
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "C",
          "problem_id": 32551,
          "problem_name": "Composed Rhythms",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "D",
          "problem_id": 32552,
          "problem_name": "Double Deck",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "E",
          "problem_id": 32553,
          "problem_name": "Elapid Errands",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "constructive",
            "graph theory",
            "graph traversal",
            "implementation"
          ],
          "tag_keys": [
            "constructive",
            "graphs",
            "graph_traversal",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "F",
          "problem_id": 32554,
          "problem_name": "Fence Fee",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "graph theory",
            "geometry",
            "planar graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "geometry",
            "planar_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "G",
          "problem_id": 32555,
          "problem_name": "Guessing Passwords",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bipartite matching",
            "hall's theorem"
          ],
          "tag_keys": [
            "bipartite_matching",
            "hall"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "H",
          "problem_id": 32556,
          "problem_name": "Hotfix",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4314,
          "problem_letter": "I",
          "problem_id": 32557,
          "problem_name": "Infinite Cash",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "J",
          "problem_id": 32558,
          "problem_name": "Jungle Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive",
            "parity"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "parity"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4314,
          "problem_letter": "K",
          "problem_id": 32559,
          "problem_name": "Knitting Pattern",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4316,
      "contest_name": "UKIEPC 2024",
      "contest_full_name": "UKIEPC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4316,
          "problem_letter": "A",
          "problem_id": 32560,
          "problem_name": "Amalgram",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "B",
          "problem_id": 32561,
          "problem_name": "Budget Analysis",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "C",
          "problem_id": 32562,
          "problem_name": "Cross Country",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4316,
          "problem_letter": "D",
          "problem_id": 32563,
          "problem_name": "Drone Control",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "ternary search"
          ],
          "tag_keys": [
            "math",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "E",
          "problem_id": 32564,
          "problem_name": "Eradication Sort",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "convex hull trick",
            "li–chao tree",
            "kinetic segment tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "cht",
            "li_chao_tree",
            "kinetic_segtree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            },
            {
              "key": "kinetic_segtree",
              "name": "kinetic segment tree",
              "boj_tag_id": 228
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "F",
          "problem_id": 32565,
          "problem_name": "Finding Suspicious Proteins",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "G",
          "problem_id": 32566,
          "problem_name": "Word Search",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "string",
            "hashing"
          ],
          "tag_keys": [
            "string",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "H",
          "problem_id": 32567,
          "problem_name": "Hedge Topiary",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "geometry",
            "point in non-convex polygon check",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "point_in_non_convex_polygon",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "point_in_non_convex_polygon",
              "name": "point in non-convex polygon check",
              "boj_tag_id": 57
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "I",
          "problem_id": 32568,
          "problem_name": "Inconsistent Patterns",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive",
            "statistics"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "J",
          "problem_id": 32569,
          "problem_name": "Jabber Network",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees",
            "rerooting on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree",
            "rerooting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "rerooting",
              "name": "rerooting on trees",
              "boj_tag_id": 233
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "K",
          "problem_id": 32570,
          "problem_name": "Knitting",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "data structures",
            "priority queue"
          ],
          "tag_keys": [
            "ad_hoc",
            "data_structures",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4316,
          "problem_letter": "L",
          "problem_id": 32571,
          "problem_name": "Leg Day",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4317,
      "contest_name": "CTU Open Contest 2024",
      "contest_full_name": "CTU Open Contest 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4317,
          "problem_letter": "F",
          "problem_id": 32572,
          "problem_name": "Flag Bearer",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "C",
          "problem_id": 32573,
          "problem_name": "Cowpproximation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "heuristics",
            "minimum enclosing circle",
            "gradient descent"
          ],
          "tag_keys": [
            "geometry",
            "heuristics",
            "min_enclosing_circle",
            "gradient_descent"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            },
            {
              "key": "min_enclosing_circle",
              "name": "minimum enclosing circle",
              "boj_tag_id": 162
            },
            {
              "key": "gradient_descent",
              "name": "gradient descent",
              "boj_tag_id": 208
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "R",
          "problem_id": 32574,
          "problem_name": "Reptile Eggs",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "regular expression",
            "string",
            "sweeping"
          ],
          "tag_keys": [
            "dp",
            "regex",
            "string",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "regex",
              "name": "regular expression",
              "boj_tag_id": 63
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "F",
          "problem_id": 32575,
          "problem_name": "Fishception",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "geometry",
            "sorting"
          ],
          "tag_keys": [
            "geometry",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "P",
          "problem_id": 32576,
          "problem_name": "Pigpartite Giraffe",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "breadth-first search",
            "bipartite graph",
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "bfs",
            "bipartite_graph",
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "H",
          "problem_id": 32577,
          "problem_name": "Hamster",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "parity"
          ],
          "tag_keys": [
            "ad_hoc",
            "parity"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "P",
          "problem_id": 32578,
          "problem_name": "Pray Mink",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "backtracking",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "backtracking",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "O",
          "problem_id": 32579,
          "problem_name": "Ornithology",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "P",
          "problem_id": 32580,
          "problem_name": "P||k Cutting",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "two-pointer"
          ],
          "tag_keys": [
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "R",
          "problem_id": 32581,
          "problem_name": "Rabid Rabbit",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "set / map"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "set"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "F",
          "problem_id": 32582,
          "problem_name": "Fellow Sheep",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 4317,
          "problem_letter": "W",
          "problem_id": 32583,
          "problem_name": "Watchdogs",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "data structures",
            "tree",
            "dynamic programming on trees",
            "lowest common ancestor",
            "sparse table"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "trees",
            "dp_tree",
            "lca",
            "sparse_table"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4319,
      "contest_name": "BAPC 2024",
      "contest_full_name": "BAPC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4319,
          "problem_letter": "A",
          "problem_id": 32595,
          "problem_name": "“Aaawww...” or “Aaayyy!!!”",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "B",
          "problem_id": 32596,
          "problem_name": "Buggy Blinkers",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "C",
          "problem_id": 32597,
          "problem_name": "Concurrent Contests",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "D",
          "problem_id": 32598,
          "problem_name": "Disgruntled Diner",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "E",
          "problem_id": 32599,
          "problem_name": "Extraterrestrial Exploration",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "F",
          "problem_id": 32600,
          "problem_name": "Failing Factory",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "graph theory",
            "mathematics",
            "probability theory",
            "strongly connected component"
          ],
          "tag_keys": [
            "graphs",
            "math",
            "probability",
            "scc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "scc",
              "name": "strongly connected component",
              "boj_tag_id": 76
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "G",
          "problem_id": 32601,
          "problem_name": "Grocery Greed",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "mathematics"
          ],
          "tag_keys": [
            "greedy",
            "math"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "H",
          "problem_id": 32602,
          "problem_name": "Horse Habitat",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "data structures",
            "prefix sum",
            "disjoint set",
            "offline queries"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "prefix_sum",
            "disjoint_set",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "I",
          "problem_id": 32603,
          "problem_name": "Interrail Pass",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming",
            "binary search"
          ],
          "tag_keys": [
            "dp",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "J",
          "problem_id": 32604,
          "problem_name": "Jumbled Scoreboards",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "K",
          "problem_id": 32605,
          "problem_name": "Karaoke Compression",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy",
            "string",
            "hashing",
            "rabin–karp"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "string",
            "hashing",
            "rabin_karp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "L",
          "problem_id": 32606,
          "problem_name": "Levelling Locks",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4319,
          "problem_letter": "M",
          "problem_id": 32607,
          "problem_name": "Museum Visit",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "binary search",
            "data structures",
            "deque",
            "deque range maximum trick",
            "dynamic programming",
            "segment tree"
          ],
          "tag_keys": [
            "binary_search",
            "data_structures",
            "deque",
            "deque_trick",
            "dp",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "deque",
              "name": "deque",
              "boj_tag_id": 73
            },
            {
              "key": "deque_trick",
              "name": "deque range maximum trick",
              "boj_tag_id": 216
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4330,
      "contest_name": "2024 North Central NA Regional Contest",
      "contest_full_name": "2024 North Central NA Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > North Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4330,
          "problem_letter": "A",
          "problem_id": 32662,
          "problem_name": "Always Know Where Your Towel Is",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "two-pointer",
            "meet in the middle"
          ],
          "tag_keys": [
            "binary_search",
            "two_pointer",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "B",
          "problem_id": 32671,
          "problem_name": "Ardi, The Hungry Aardvark",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4330,
          "problem_letter": "C",
          "problem_id": 32663,
          "problem_name": "Big And",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "D",
          "problem_id": 32667,
          "problem_name": "Enchanted Maze",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "case work",
            "bitmask",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "case_work",
            "bitmask",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "E",
          "problem_id": 32668,
          "problem_name": "Expected Flight Delay",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "F",
          "problem_id": 32670,
          "problem_name": "Guard Evaders",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map by hashing",
            "backtracking",
            "set / map by trees"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "hash_set",
            "backtracking",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "G",
          "problem_id": 32672,
          "problem_name": "jigsawpuzzle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4330,
          "problem_letter": "H",
          "problem_id": 32673,
          "problem_name": "Lego Lover's Triangle",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4330,
          "problem_letter": "I",
          "problem_id": 32674,
          "problem_name": "Palindromic Word Search",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "J",
          "problem_id": 32676,
          "problem_name": "Pillow Stacking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4330,
          "problem_letter": "K",
          "problem_id": 32680,
          "problem_name": "Sauna",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4330,
          "problem_letter": "L",
          "problem_id": 32681,
          "problem_name": "Space Elevator",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4331,
      "contest_name": "2024 Rocky Mountain Regional Contest",
      "contest_full_name": "2024 Rocky Mountain Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > Rocky Mountain Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4331,
          "problem_letter": "A",
          "problem_id": 32661,
          "problem_name": "Airfare Grants",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "B",
          "problem_id": 32662,
          "problem_name": "Always Know Where Your Towel Is",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "two-pointer",
            "meet in the middle"
          ],
          "tag_keys": [
            "binary_search",
            "two_pointer",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "C",
          "problem_id": 32663,
          "problem_name": "Big And",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "D",
          "problem_id": 32666,
          "problem_name": "Emoticons",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "tree",
            "stack",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "trees",
            "stack",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "E",
          "problem_id": 32667,
          "problem_name": "Enchanted Maze",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "case work",
            "bitmask",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "case_work",
            "bitmask",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "F",
          "problem_id": 32669,
          "problem_name": "Garage Door Code",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "G",
          "problem_id": 32674,
          "problem_name": "Palindromic Word Search",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "H",
          "problem_id": 32676,
          "problem_name": "Pillow Stacking",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4331,
          "problem_letter": "I",
          "problem_id": 32677,
          "problem_name": "Rectangle Tiling",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "J",
          "problem_id": 32678,
          "problem_name": "Rocky Mountain",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "K",
          "problem_id": 32679,
          "problem_name": "Sandwich Art",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4331,
          "problem_letter": "L",
          "problem_id": 32680,
          "problem_name": "Sauna",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4331,
          "problem_letter": "M",
          "problem_id": 32681,
          "problem_name": "Space Elevator",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4332,
      "contest_name": "2024 Mid-Central USA Programming Contest",
      "contest_full_name": "2024 Mid-Central USA Programming Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > Mid-Central Regional",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 4332,
          "problem_letter": "A",
          "problem_id": 32661,
          "problem_name": "Airfare Grants",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "B",
          "problem_id": 32662,
          "problem_name": "Always Know Where Your Towel Is",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "binary search",
            "two-pointer",
            "meet in the middle"
          ],
          "tag_keys": [
            "binary_search",
            "two_pointer",
            "mitm"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "mitm",
              "name": "meet in the middle",
              "boj_tag_id": 46
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "C",
          "problem_id": 32663,
          "problem_name": "Big And",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "greedy",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "D",
          "problem_id": 32664,
          "problem_name": "Cascade Centrality",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4332,
          "problem_letter": "E",
          "problem_id": 32665,
          "problem_name": "Connectedness",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "F",
          "problem_id": 32666,
          "problem_name": "Emoticons",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "string",
            "bruteforcing",
            "tree",
            "stack",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "string",
            "bruteforcing",
            "trees",
            "stack",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "G",
          "problem_id": 32667,
          "problem_name": "Enchanted Maze",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "case work",
            "bitmask",
            "grid graph"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "bfs",
            "case_work",
            "bitmask",
            "grid_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "H",
          "problem_id": 32670,
          "problem_name": "Guard Evaders",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map by hashing",
            "backtracking",
            "set / map by trees"
          ],
          "tag_keys": [
            "graphs",
            "data_structures",
            "graph_traversal",
            "hash_set",
            "backtracking",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "I",
          "problem_id": 32674,
          "problem_name": "Palindromic Word Search",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming",
            "bruteforcing"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "J",
          "problem_id": 32675,
          "problem_name": "Pascal Multiple",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "dynamic programming"
          ],
          "tag_keys": [
            "math",
            "dp"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "K",
          "problem_id": 32677,
          "problem_name": "Rectangle Tiling",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "L",
          "problem_id": 32680,
          "problem_name": "Sauna",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "M",
          "problem_id": 32681,
          "problem_name": "Space Elevator",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4332,
          "problem_letter": "N",
          "problem_id": 32683,
          "problem_name": "Up and Down",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "lis"
          ],
          "tag_details": [
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4332,
          "problem_letter": "O",
          "problem_id": 32682,
          "problem_name": "Which Number Kind Is It?",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4339,
      "contest_name": "Division 1",
      "contest_full_name": "The 2024 Pacific Northwest Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > The 2024 Pacific Northwest Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4339,
          "problem_letter": "A",
          "problem_id": 32787,
          "problem_name": "Auto-Coin-o-Matic",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "offline queries"
          ],
          "tag_keys": [
            "dp",
            "offline_queries"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "B",
          "problem_id": 32788,
          "problem_name": "Big Integers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "C",
          "problem_id": 32789,
          "problem_name": "Champernowne Subsequence",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "D",
          "problem_id": 32790,
          "problem_name": "Connecting Computers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "bruteforcing",
            "sorting",
            "bitmask",
            "articulation points and bridges",
            "cactus"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "sorting",
            "bitmask",
            "articulation",
            "cactus"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "E",
          "problem_id": 32791,
          "problem_name": "Exact Change",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "string",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "F",
          "problem_id": 32792,
          "problem_name": "Free Solo",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "geometry",
            "shortest path",
            "dijkstra's",
            "sweeping"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "geometry",
            "shortest_path",
            "dijkstra",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "G",
          "problem_id": 32793,
          "problem_name": "GCD Pairs",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "set / map",
            "combinatorics",
            "primality test",
            "inclusion and exclusion",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "set",
            "combinatorics",
            "primality_test",
            "inclusion_and_exclusion",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "H",
          "problem_id": 32794,
          "problem_name": "Homework Help",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "dynamic programming"
          ],
          "tag_keys": [
            "ad_hoc",
            "dp"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "I",
          "problem_id": 32795,
          "problem_name": "Intuitive Elements",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "J",
          "problem_id": 32796,
          "problem_name": "Rainbow Bowl Ranges",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "K",
          "problem_id": 32797,
          "problem_name": "Sleeping on the Train",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "L",
          "problem_id": 32798,
          "problem_name": "Training, Round 3",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "fermat's little theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "flt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "flt",
              "name": "fermat's little theorem",
              "boj_tag_id": 29
            }
          ]
        },
        {
          "contest_id": 4339,
          "problem_letter": "M",
          "problem_id": 32799,
          "problem_name": "Word Game",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "backtracking",
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4340,
      "contest_name": "Division 2",
      "contest_full_name": "The 2024 Pacific Northwest Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > The 2024 Pacific Northwest Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4340,
          "problem_letter": "A",
          "problem_id": 32788,
          "problem_name": "Big Integers",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "string",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "string",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "B",
          "problem_id": 32800,
          "problem_name": "Bus Assignment",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "C",
          "problem_id": 32801,
          "problem_name": "Generalized FizzBuzz",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "D",
          "problem_id": 32795,
          "problem_name": "Intuitive Elements",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "E",
          "problem_id": 32802,
          "problem_name": "Mouse Pursuit",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "F",
          "problem_id": 32803,
          "problem_name": "Ruffians",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "G",
          "problem_id": 32797,
          "problem_name": "Sleeping on the Train",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "H",
          "problem_id": 32789,
          "problem_name": "Champernowne Subsequence",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "bruteforcing",
            "greedy",
            "string"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "I",
          "problem_id": 32791,
          "problem_name": "Exact Change",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "string",
            "bitmask"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "J",
          "problem_id": 32794,
          "problem_name": "Homework Help",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "dynamic programming"
          ],
          "tag_keys": [
            "ad_hoc",
            "dp"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "K",
          "problem_id": 32796,
          "problem_name": "Rainbow Bowl Ranges",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "L",
          "problem_id": 32804,
          "problem_name": "Taking Out the Trash",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4340,
          "problem_letter": "M",
          "problem_id": 32799,
          "problem_name": "Word Game",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "backtracking",
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_keys": [
            "backtracking",
            "bruteforcing",
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4341,
      "contest_name": "2024 East Central NA Regional Contest",
      "contest_full_name": "2024 East Central NA Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4341,
          "problem_letter": "A",
          "problem_id": 32805,
          "problem_name": "A Stack of Gold",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "B",
          "problem_id": 32806,
          "problem_name": "Average Substring Value",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "binary search",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "binary_search",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "C",
          "problem_id": 32807,
          "problem_name": "Balancing Art",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "maximum flow",
            "parametric search",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "parametric_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "D",
          "problem_id": 32808,
          "problem_name": "Brownian Bears",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "E",
          "problem_id": 32809,
          "problem_name": "Fences Make Good Neighbors",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "F",
          "problem_id": 32810,
          "problem_name": "Leapfrog Encryption",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "G",
          "problem_id": 32811,
          "problem_name": "Letter Balloons",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "H",
          "problem_id": 32812,
          "problem_name": "Marching Orders",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "I",
          "problem_id": 32813,
          "problem_name": "Oooh I See",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "J",
          "problem_id": 32814,
          "problem_name": "Pascal Meets Boole",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "K",
          "problem_id": 32815,
          "problem_name": "Pony-less Express",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "hungarian",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "hungarian",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "L",
          "problem_id": 32816,
          "problem_name": "Repetitive Routes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 4341,
          "problem_letter": "M",
          "problem_id": 32817,
          "problem_name": "Smart Password Validation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4342,
      "contest_name": "2024 Greater New York Regional Contest",
      "contest_full_name": "2024 Greater New York Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > Greater New York Region",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4342,
          "problem_letter": "A",
          "problem_id": 32805,
          "problem_name": "A Stack of Gold",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "B",
          "problem_id": 32806,
          "problem_name": "Average Substring Value",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "binary search",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "binary_search",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "C",
          "problem_id": 32807,
          "problem_name": "Balancing Art",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "maximum flow",
            "parametric search",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "parametric_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "D",
          "problem_id": 32808,
          "problem_name": "Brownian Bears",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "E",
          "problem_id": 32809,
          "problem_name": "Fences Make Good Neighbors",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "F",
          "problem_id": 32810,
          "problem_name": "Leapfrog Encryption",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "G",
          "problem_id": 32811,
          "problem_name": "Letter Balloons",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "H",
          "problem_id": 32812,
          "problem_name": "Marching Orders",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "I",
          "problem_id": 32813,
          "problem_name": "Oooh I See",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "J",
          "problem_id": 32814,
          "problem_name": "Pascal Meets Boole",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "K",
          "problem_id": 32815,
          "problem_name": "Pony-less Express",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "hungarian",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "hungarian",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "L",
          "problem_id": 32816,
          "problem_name": "Repetitive Routes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 4342,
          "problem_letter": "M",
          "problem_id": 32817,
          "problem_name": "Smart Password Validation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4343,
      "contest_name": "2024 Northeast North America Regional Contest",
      "contest_full_name": "2024 Northeast North America Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > North America > Northeast North America Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4343,
          "problem_letter": "A",
          "problem_id": 32805,
          "problem_name": "A Stack of Gold",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "B",
          "problem_id": 32806,
          "problem_name": "Average Substring Value",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "number theory",
            "binary search",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "dp",
            "number_theory",
            "binary_search",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "C",
          "problem_id": 32807,
          "problem_name": "Balancing Art",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "maximum flow",
            "parametric search",
            "graph theory"
          ],
          "tag_keys": [
            "flow",
            "parametric_search",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "D",
          "problem_id": 32808,
          "problem_name": "Brownian Bears",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "E",
          "problem_id": 32809,
          "problem_name": "Fences Make Good Neighbors",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "geometry"
          ],
          "tag_keys": [
            "dp",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "F",
          "problem_id": 32810,
          "problem_name": "Leapfrog Encryption",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "G",
          "problem_id": 32811,
          "problem_name": "Letter Balloons",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "string",
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "H",
          "problem_id": 32812,
          "problem_name": "Marching Orders",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory",
            "chinese remainder theorem"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "crt"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "crt",
              "name": "chinese remainder theorem",
              "boj_tag_id": 19
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "I",
          "problem_id": 32813,
          "problem_name": "Oooh I See",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "J",
          "problem_id": 32814,
          "problem_name": "Pascal Meets Boole",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "K",
          "problem_id": 32815,
          "problem_name": "Pony-less Express",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "dynamic programming on trees",
            "hungarian",
            "tree"
          ],
          "tag_keys": [
            "dp",
            "dp_tree",
            "hungarian",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "hungarian",
              "name": "hungarian",
              "boj_tag_id": 36
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "L",
          "problem_id": 32816,
          "problem_name": "Repetitive Routes",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "segment tree",
            "set / map",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "set",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 4343,
          "problem_letter": "M",
          "problem_id": 32817,
          "problem_name": "Smart Password Validation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4344,
      "contest_name": "Seoul Nationalwide Internet Competition 2024",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4344,
          "problem_letter": "A",
          "problem_id": 32818,
          "problem_name": "Cleaning Robot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "simulation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "B",
          "problem_id": 32819,
          "problem_name": "Complexity Measure",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4344,
          "problem_letter": "C",
          "problem_id": 32820,
          "problem_name": "Covers",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "graph theory",
            "string",
            "shortest path",
            "dijkstra's",
            "knuth–morris–pratt",
            "z"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "string",
            "shortest_path",
            "dijkstra",
            "kmp",
            "z"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "kmp",
              "name": "knuth–morris–pratt",
              "boj_tag_id": 40
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "D",
          "problem_id": 32821,
          "problem_name": "Diagonal Flipping",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "graph traversal",
            "depth-first search",
            "disjoint set",
            "bipartite graph"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "graph_traversal",
            "dfs",
            "disjoint_set",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "E",
          "problem_id": 32822,
          "problem_name": "행렬 게임",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "F",
          "problem_id": 32823,
          "problem_name": "채굴권 분할",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "geometry",
            "line segment intersection check"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "G",
          "problem_id": 32824,
          "problem_name": "New Megacity",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "graph theory",
            "disjoint set",
            "minimum spanning tree",
            "articulation points and bridges"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "disjoint_set",
            "mst",
            "articulation"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "articulation",
              "name": "articulation points and bridges",
              "boj_tag_id": 4
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "H",
          "problem_id": 32825,
          "problem_name": "숫자 할당",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_keys": [
            "bruteforcing",
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "I",
          "problem_id": 32826,
          "problem_name": "Polygon Discovery",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "ad-hoc",
            "geometry",
            "binary search",
            "heuristics"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry",
            "binary_search",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "J",
          "problem_id": 32827,
          "problem_name": "Two Rings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4344,
          "problem_letter": "K",
          "problem_id": 32828,
          "problem_name": "WEB Machine",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4348,
      "contest_name": "2024 ICPC Asia Seoul Regional",
      "contest_full_name": "2024 ICPC Asia Seoul Regional",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4348,
          "problem_letter": "A",
          "problem_id": 32829,
          "problem_name": "Bottles",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "sorting",
            "simulation",
            "prefix sum",
            "sweeping"
          ],
          "tag_keys": [
            "implementation",
            "sorting",
            "simulation",
            "prefix_sum",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "B",
          "problem_id": 32830,
          "problem_name": "Cards Flipping",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "C",
          "problem_id": 32831,
          "problem_name": "Colorful Quadrants",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bruteforcing",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "bruteforcing",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "D",
          "problem_id": 32832,
          "problem_name": "Ladder Update",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "data structures",
            "offline queries",
            "segment tree",
            "splay tree",
            "tree"
          ],
          "tag_keys": [
            "data_structures",
            "offline_queries",
            "segtree",
            "splay_tree",
            "trees"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "splay_tree",
              "name": "splay tree",
              "boj_tag_id": 69
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "E",
          "problem_id": 32833,
          "problem_name": "Mausoleum",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "F",
          "problem_id": 32834,
          "problem_name": "Pair Sorting",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "G",
          "problem_id": 32835,
          "problem_name": "Palindromic Length",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "dynamic programming",
            "string",
            "tree",
            "dynamic programming on trees",
            "palindrome tree"
          ],
          "tag_keys": [
            "dp",
            "string",
            "trees",
            "dp_tree",
            "palindrome_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "palindrome_tree",
              "name": "palindrome tree",
              "boj_tag_id": 53
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "H",
          "problem_id": 32836,
          "problem_name": "Protecting Kingdom",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees",
            "divide and conquer",
            "two-pointer",
            "centroid",
            "centroid decomposition"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree",
            "divide_and_conquer",
            "two_pointer",
            "centroid",
            "centroid_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            },
            {
              "key": "centroid_decomposition",
              "name": "centroid decomposition",
              "boj_tag_id": 18
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "I",
          "problem_id": 32837,
          "problem_name": "Square Stamping",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "sorting",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "dp",
            "sorting",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "J",
          "problem_id": 32838,
          "problem_name": "Street Development",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "greedy",
            "binary search",
            "simulation",
            "parametric search"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "binary_search",
            "simulation",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "K",
          "problem_id": 32839,
          "problem_name": "String Rank",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4348,
          "problem_letter": "L",
          "problem_id": 32840,
          "problem_name": "Triangle",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "geometry",
            "number theory",
            "euclidean algorithm",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "number_theory",
            "euclidean",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4349,
      "contest_name": "Division 1",
      "contest_full_name": "2024 Southeast USA Regional Programming Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2024 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4349,
          "problem_letter": "A",
          "problem_id": 32841,
          "problem_name": "Welcome Sign",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "B",
          "problem_id": 32842,
          "problem_name": "Triangles of a Square",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "C",
          "problem_id": 32843,
          "problem_name": "City Bike",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "D",
          "problem_id": 32844,
          "problem_name": "Duel of Cards",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "E",
          "problem_id": 32845,
          "problem_name": "Elevated Rails",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "F",
          "problem_id": 32846,
          "problem_name": "Finding Keys",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "G",
          "problem_id": 32847,
          "problem_name": "Intergalactic Team",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "H",
          "problem_id": 32848,
          "problem_name": "Herb Mixing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "I",
          "problem_id": 32849,
          "problem_name": "Island Memories",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "J",
          "problem_id": 32850,
          "problem_name": "Perfect Squares",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "K",
          "problem_id": 32851,
          "problem_name": "Optimized Cheating",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "arithmetic",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "arithmetic",
            "bfs",
            "graphs",
            "graph_traversal",
            "math",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "L",
          "problem_id": 32852,
          "problem_name": "Pianissimo",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4349,
          "problem_letter": "M",
          "problem_id": 32853,
          "problem_name": "Virtual Reality Playspace",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4350,
      "contest_name": "Division 2",
      "contest_full_name": "2024 Southeast USA Regional Programming Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2024 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4350,
          "problem_letter": "A",
          "problem_id": 32841,
          "problem_name": "Welcome Sign",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "B",
          "problem_id": 32842,
          "problem_name": "Triangles of a Square",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "C",
          "problem_id": 32854,
          "problem_name": "Traffic Lights",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "D",
          "problem_id": 32844,
          "problem_name": "Duel of Cards",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "E",
          "problem_id": 32855,
          "problem_name": "Which One is Larger",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "F",
          "problem_id": 32856,
          "problem_name": "Office Building",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "G",
          "problem_id": 32847,
          "problem_name": "Intergalactic Team",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "H",
          "problem_id": 32848,
          "problem_name": "Herb Mixing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "I",
          "problem_id": 32849,
          "problem_name": "Island Memories",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "J",
          "problem_id": 32850,
          "problem_name": "Perfect Squares",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "K",
          "problem_id": 32851,
          "problem_name": "Optimized Cheating",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "arithmetic",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "arithmetic",
            "bfs",
            "graphs",
            "graph_traversal",
            "math",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "L",
          "problem_id": 32852,
          "problem_name": "Pianissimo",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4350,
          "problem_letter": "M",
          "problem_id": 32857,
          "problem_name": "Memories of Passport Stamps",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4356,
      "contest_name": "NWERC 2024",
      "contest_full_name": "Northwestern European Regional Contest NWERC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 4356,
          "problem_letter": "A",
          "problem_id": 32889,
          "problem_name": "Alphabetical Aristocrats",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "sorting"
          ],
          "tag_keys": [
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "B",
          "problem_id": 32890,
          "problem_name": "Binary Search",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "graph theory",
            "ad-hoc",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "ad_hoc",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "C",
          "problem_id": 32891,
          "problem_name": "Connect Five",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bruteforcing",
            "ad-hoc",
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc",
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "D",
          "problem_id": 32892,
          "problem_name": "Dutch Democracy",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "sorting",
            "knapsack"
          ],
          "tag_keys": [
            "sorting",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "E",
          "problem_id": 32893,
          "problem_name": "Evolving Etymology",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "F",
          "problem_id": 32894,
          "problem_name": "Flowing Fountain",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "data structures",
            "simulation",
            "disjoint set",
            "stack"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "simulation",
            "disjoint_set",
            "stack"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "G",
          "problem_id": 32895,
          "problem_name": "Glued Grid",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "breadth-first search",
            "grid graph",
            "parity",
            "biconnected component",
            "finding invariants"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "bfs",
            "grid_graph",
            "parity",
            "bcc",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            },
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "H",
          "problem_id": 32896,
          "problem_name": "Hash Collision",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "ad-hoc",
            "functional graph"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "functional_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "functional_graph",
              "name": "functional graph",
              "boj_tag_id": 211
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "I",
          "problem_id": 32897,
          "problem_name": "It’s a Kind of Magic",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive",
            "prefix sum",
            "primality test",
            "precomputation",
            "sieve of eratosthenes",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive",
            "prefix_sum",
            "primality_test",
            "precomputation",
            "sieve",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "sieve",
              "name": "sieve of eratosthenes",
              "boj_tag_id": 67
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "J",
          "problem_id": 32898,
          "problem_name": "Jib Job",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "greedy",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "K",
          "problem_id": 32899,
          "problem_name": "Kruidnoten",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "graph theory",
            "shortest path",
            "dijkstra's",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "shortest_path",
            "dijkstra",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "L",
          "problem_id": 32900,
          "problem_name": "Limited Library",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "M",
          "problem_id": 32901,
          "problem_name": "Mouse Trap",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "prefix sum",
            "combinatorics",
            "probability theory",
            "linearity of expectation",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "prefix_sum",
            "combinatorics",
            "probability",
            "linearity_of_expectation",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "A",
          "problem_id": 32886,
          "problem_name": "Alternative Encryption",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "constructive"
          ],
          "tag_keys": [
            "string",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "B",
          "problem_id": 32887,
          "problem_name": "Blackboard",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "mathematics",
            "number theory",
            "sweeping",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "math",
            "number_theory",
            "sweeping",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4356,
          "problem_letter": "C",
          "problem_id": 32888,
          "problem_name": "Consolidating Windows",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4358,
      "contest_name": "ICPC 2024-2025 Northwestern Russia Qualification",
      "contest_full_name": "ICPC 2024-2025 Northwestern Russia Qualification",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 4358,
          "problem_letter": "A",
          "problem_id": 32902,
          "problem_name": "Chips",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "B",
          "problem_id": 32903,
          "problem_name": "Application List",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "C",
          "problem_id": 32904,
          "problem_name": "Ordinal Number",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "D",
          "problem_id": 32905,
          "problem_name": "RACI",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "E",
          "problem_id": 32906,
          "problem_name": "Triangle on the Axis",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "F",
          "problem_id": 32907,
          "problem_name": "Faulty Traffic Light",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "ad-hoc",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "G",
          "problem_id": 32908,
          "problem_name": "Programmers and Stones",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc",
            "game theory",
            "parity"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory",
            "parity"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "H",
          "problem_id": 32909,
          "problem_name": "Minimization by Swaps",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "I",
          "problem_id": 32910,
          "problem_name": "Modular Taxi",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "euclidean algorithm",
            "greedy",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "euclidean",
            "greedy",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "J",
          "problem_id": 32911,
          "problem_name": "Electrician",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4358,
          "problem_letter": "K",
          "problem_id": 32912,
          "problem_name": "Wooden Matrix",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "ad-hoc",
            "tree",
            "minimum spanning tree"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "trees",
            "mst"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "L",
          "problem_id": 32913,
          "problem_name": "Count the Operations",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "string",
            "binary search",
            "set / map",
            "parsing",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "string",
            "binary_search",
            "set",
            "parsing",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "M",
          "problem_id": 32914,
          "problem_name": "Balls of Three Colors",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 4358,
          "problem_letter": "N",
          "problem_id": 32915,
          "problem_name": "Definitely Not Chess",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "graph traversal",
            "set / map",
            "breadth-first search",
            "set / map by hashing",
            "game theory"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "graph_traversal",
            "set",
            "bfs",
            "hash_set",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4361,
      "contest_name": "ICPC 2024-2025 Northwestern Russia Regional Contest",
      "contest_full_name": "ICPC 2024-2025 Northwestern Russia Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4361,
          "problem_letter": "A",
          "problem_id": 32916,
          "problem_name": "Another Brick in the Wall",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "arithmetic",
            "parity"
          ],
          "tag_keys": [
            "math",
            "arithmetic",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "B",
          "problem_id": 32917,
          "problem_name": "Brick in the Wall, Part 2",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "biconnected component",
            "dynamic programming",
            "dynamic programming on trees",
            "tree",
            "two-pointer"
          ],
          "tag_keys": [
            "bcc",
            "dp",
            "dp_tree",
            "trees",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "bcc",
              "name": "biconnected component",
              "boj_tag_id": 153
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "C",
          "problem_id": 32918,
          "problem_name": "Capybara Cozy Carnival",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "data structures",
            "combinatorics",
            "stack",
            "exponentiation by squaring"
          ],
          "tag_keys": [
            "math",
            "dp",
            "data_structures",
            "combinatorics",
            "stack",
            "exponentiation_by_squaring"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "D",
          "problem_id": 32919,
          "problem_name": "Defective Script",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "linear algebra",
            "hashing"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "linear_algebra",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "E",
          "problem_id": 32920,
          "problem_name": "Eight-Shaped Figures",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "set / map by trees",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "tree_set",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "F",
          "problem_id": 32921,
          "problem_name": "False Alarm",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "G",
          "problem_id": 32922,
          "problem_name": "Game of Annihilation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "prefix sum",
            "game theory"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "H",
          "problem_id": 32923,
          "problem_name": "Hanoi Towers Reloaded",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "ad-hoc"
          ],
          "tag_keys": [
            "math",
            "dp",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "I",
          "problem_id": 32924,
          "problem_name": "If I Could Turn Back Time",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy",
            "sorting",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "J",
          "problem_id": 32925,
          "problem_name": "Just Half is Enough",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "ad-hoc"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "K",
          "problem_id": 32926,
          "problem_name": "Keyboard Chaos",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "L",
          "problem_id": 32927,
          "problem_name": "Longest Common Substring",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 4361,
          "problem_letter": "M",
          "problem_id": 32928,
          "problem_name": "Misère",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4371,
      "contest_name": "2024 ICPC Asia Yokohama Regional Contest",
      "contest_full_name": "2024 ICPC Asia Yokohama Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4371,
          "problem_letter": "A",
          "problem_id": 32999,
          "problem_name": "Ribbon on the Christmas Present",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "greedy",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "B",
          "problem_id": 33000,
          "problem_name": "The Sparsest Number in Between",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "greedy",
            "ad-hoc",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "ad_hoc",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "C",
          "problem_id": 33001,
          "problem_name": "Omnes Viae Yokohamam Ducunt?",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "D",
          "problem_id": 33002,
          "problem_name": "Tree Generators",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "E",
          "problem_id": 33003,
          "problem_name": "E-Circuit Is Now on Sale!",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "arithmetic",
            "depth-first search",
            "graph theory",
            "graph traversal",
            "implementation",
            "mathematics",
            "simulation"
          ],
          "tag_keys": [
            "arithmetic",
            "dfs",
            "graphs",
            "graph_traversal",
            "implementation",
            "math",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "F",
          "problem_id": 33004,
          "problem_name": "The Farthest Point",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "geometry; 3d",
            "ternary search"
          ],
          "tag_keys": [
            "geometry",
            "geometry_3d",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "G",
          "problem_id": 33005,
          "problem_name": "Beyond the Former Explorer",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "ad-hoc",
            "binary search"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "H",
          "problem_id": 33006,
          "problem_name": "Remodeling the Dungeon 2",
          "problem_difficulty": "Ruby III",
          "difficulty_level": 28,
          "tags": [
            "implementation",
            "data structures",
            "graph theory",
            "graph traversal",
            "disjoint set",
            "bipartite matching"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "graphs",
            "graph_traversal",
            "disjoint_set",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "I",
          "problem_id": 33007,
          "problem_name": "Greatest of the Greatest Common Divisors",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "sweeping",
            "offline queries",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "sweeping",
            "offline_queries",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "J",
          "problem_id": 33008,
          "problem_name": "Mixing Solutions",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "linear programming",
            "duality"
          ],
          "tag_keys": [
            "geometry",
            "linear_programming",
            "duality"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "linear_programming",
              "name": "linear programming",
              "boj_tag_id": 103
            },
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "K",
          "problem_id": 33009,
          "problem_name": "Scheduling Two Meetings",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 4371,
          "problem_letter": "L",
          "problem_id": 33010,
          "problem_name": "Peculiar Protocol",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4372,
      "contest_name": "Northern Eurasia Finals 2023",
      "contest_full_name": "Northern Eurasia Finals 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4372,
          "problem_letter": "A",
          "problem_id": 33015,
          "problem_name": "Accumulator Apex",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "queue",
              "name": "queue",
              "boj_tag_id": 72
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "B",
          "problem_id": 33016,
          "problem_name": "Blueprint for Seating",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "C",
          "problem_id": 33017,
          "problem_name": "Cactus Transformation",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4372,
          "problem_letter": "D",
          "problem_id": 33018,
          "problem_name": "Divisibility Test",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "E",
          "problem_id": 33019,
          "problem_name": "Evaluate It and Back Again",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "F",
          "problem_id": 33020,
          "problem_name": "Fugitive Frenzy",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "dynamic programming",
            "arithmetic",
            "game theory",
            "probability theory",
            "numerical analysis"
          ],
          "tag_keys": [
            "math",
            "dp",
            "arithmetic",
            "game_theory",
            "probability",
            "numerical_analysis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "numerical_analysis",
              "name": "numerical analysis",
              "boj_tag_id": 122
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "G",
          "problem_id": 33021,
          "problem_name": "Great City Saint Petersburg",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "H",
          "problem_id": 33022,
          "problem_name": "Hypercatapult Commute",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "I",
          "problem_id": 33023,
          "problem_name": "Innovative Washing Machine",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "J",
          "problem_id": 33024,
          "problem_name": "Joy of Pokémon Observation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "K",
          "problem_id": 33025,
          "problem_name": "Kim’s Quest",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "dp",
            "math"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4372,
          "problem_letter": "L",
          "problem_id": 33026,
          "problem_name": "LOL Lovers",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4373,
      "contest_name": "Northern Eurasia Finals 2024",
      "contest_full_name": "Northern Eurasia Finals 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4373,
          "problem_letter": "A",
          "problem_id": 33027,
          "problem_name": "Adrenaline Rush",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "B",
          "problem_id": 33028,
          "problem_name": "BitBitJump",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "C",
          "problem_id": 33029,
          "problem_name": "Cactus without Bridges",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4373,
          "problem_letter": "D",
          "problem_id": 33030,
          "problem_name": "DAG Serialization",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "greedy",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "E",
          "problem_id": 33031,
          "problem_name": "Expression Correction",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "bruteforcing",
            "arithmetic",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "bruteforcing",
            "arithmetic",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "F",
          "problem_id": 33032,
          "problem_name": "Fix Flooded Floor",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "G",
          "problem_id": 33033,
          "problem_name": "Geometric Balance",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "H",
          "problem_id": 33034,
          "problem_name": "Hunting Hoglins in Hogwarts",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4373,
          "problem_letter": "I",
          "problem_id": 33035,
          "problem_name": "Incompetent Delivery Guy",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "shortest path",
            "dijkstra's",
            "0-1 bfs"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "shortest_path",
            "dijkstra",
            "0_1_bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "0_1_bfs",
              "name": "0-1 bfs",
              "boj_tag_id": 176
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "J",
          "problem_id": 33036,
          "problem_name": "Judicious Watching",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "prefix sum"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "K",
          "problem_id": 33037,
          "problem_name": "Knowns and Unknowns",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "bipartite matching"
          ],
          "tag_keys": [
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "L",
          "problem_id": 33038,
          "problem_name": "Legacy Screensaver",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "implementation",
            "number theory",
            "simulation",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "number_theory",
            "simulation",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4373,
          "problem_letter": "M",
          "problem_id": 33039,
          "problem_name": "Managing Cluster",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "dynamic programming",
            "greedy",
            "ad-hoc",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "greedy",
            "ad_hoc",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4382,
      "contest_name": "INC 2022",
      "contest_full_name": "INC 2022",
      "contest_year": 2022,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4382,
          "problem_letter": "A",
          "problem_id": 33080,
          "problem_name": "Party Medley",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "B",
          "problem_id": 33081,
          "problem_name": "Cooking Steaks",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "C",
          "problem_id": 33082,
          "problem_name": "Powers of Two",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "D",
          "problem_id": 33083,
          "problem_name": "Robot Upgrades",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4382,
          "problem_letter": "E",
          "problem_id": 33084,
          "problem_name": "Walking Around",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "F",
          "problem_id": 33085,
          "problem_name": "Stock Market",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "G",
          "problem_id": 33086,
          "problem_name": "Plus or Times",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "H",
          "problem_id": 33087,
          "problem_name": "Sorting Machine",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4382,
          "problem_letter": "I",
          "problem_id": 33088,
          "problem_name": "Reporting Documents",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "square root decomposition"
          ],
          "tag_keys": [
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "J",
          "problem_id": 33089,
          "problem_name": "Finding Treasure",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "implementation",
            "data structures",
            "binary search",
            "set / map",
            "set / map by trees"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "data_structures",
            "binary_search",
            "set",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "K",
          "problem_id": 33090,
          "problem_name": "Permutation Construction",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "sorting",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "L",
          "problem_id": 33091,
          "problem_name": "Expected Beauty",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "M",
          "problem_id": 33092,
          "problem_name": "Obstacle Course",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "PA",
          "problem_id": 27622,
          "problem_name": "Suspicious Event",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "PB",
          "problem_id": 27621,
          "problem_name": "Sum of Three Cubes",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "PC",
          "problem_id": 27627,
          "problem_name": "Splitology",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4382,
          "problem_letter": "PD",
          "problem_id": 27623,
          "problem_name": "Wooden Fence",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "knapsack"
          ],
          "tag_keys": [
            "dp",
            "knapsack"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4383,
      "contest_name": "INC 2023",
      "contest_full_name": "INC 2023",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4383,
          "problem_letter": "A",
          "problem_id": 33093,
          "problem_name": "Golden Tickets",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "B",
          "problem_id": 33094,
          "problem_name": "Diet Plan",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "C",
          "problem_id": 33095,
          "problem_name": "Independent Set (Max)",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "directed acyclic graph",
            "depth-first search",
            "dynamic programming",
            "dynamic programming on trees",
            "graph theory",
            "graph traversal",
            "greedy",
            "topological sorting",
            "tree"
          ],
          "tag_keys": [
            "dag",
            "dfs",
            "dp",
            "dp_tree",
            "graphs",
            "graph_traversal",
            "greedy",
            "topological_sorting",
            "trees"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "D",
          "problem_id": 33096,
          "problem_name": "Independent Set (Sum)",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "combinatorics",
            "dynamic programming on trees",
            "rerooting on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "combinatorics",
            "dp_tree",
            "rerooting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "rerooting",
              "name": "rerooting on trees",
              "boj_tag_id": 233
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "E",
          "problem_id": 33097,
          "problem_name": "Reverse Severer",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "string",
            "two-pointer",
            "hashing",
            "rabin–karp"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "two_pointer",
            "hashing",
            "rabin_karp"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "rabin_karp",
              "name": "rabin–karp",
              "boj_tag_id": 61
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "F",
          "problem_id": 33098,
          "problem_name": "Interesting Couple",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "G",
          "problem_id": 33099,
          "problem_name": "Narrow Passageway",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "H",
          "problem_id": 33100,
          "problem_name": "Horse Carts",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "greedy",
            "sorting",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "sorting",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "I",
          "problem_id": 33101,
          "problem_name": "Critical Road",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "tree",
            "directed acyclic graph",
            "dominator tree"
          ],
          "tag_keys": [
            "graphs",
            "trees",
            "dag",
            "dominator_tree"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dominator_tree",
              "name": "dominator tree",
              "boj_tag_id": 135
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "J",
          "problem_id": 33102,
          "problem_name": "Counting Pairs",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bitmask",
            "dynamic programming",
            "sum over subsets dynamic programming",
            "mathematics"
          ],
          "tag_keys": [
            "bitmask",
            "dp",
            "dp_sum_over_subsets",
            "math"
          ],
          "tag_details": [
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "K",
          "problem_id": 33103,
          "problem_name": "Magic Squares",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "L",
          "problem_id": 33104,
          "problem_name": "Numbers Combination",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "fast fourier transform",
            "generating function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "fft",
            "generating_function"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "generating_function",
              "name": "generating function",
              "boj_tag_id": 198
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "M",
          "problem_id": 33105,
          "problem_name": "Chocolate Bar",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "case work"
          ],
          "tag_keys": [
            "case_work"
          ],
          "tag_details": [
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "PA",
          "problem_id": 33080,
          "problem_name": "Party Medley",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "PB",
          "problem_id": 33081,
          "problem_name": "Cooking Steaks",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "prefix sum",
            "two-pointer"
          ],
          "tag_keys": [
            "greedy",
            "prefix_sum",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "PC",
          "problem_id": 33085,
          "problem_name": "Stock Market",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4383,
          "problem_letter": "PD",
          "problem_id": 33082,
          "problem_name": "Powers of Two",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4384,
      "contest_name": "INC 2024",
      "contest_full_name": "INC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4384,
          "problem_letter": "A",
          "problem_id": 33106,
          "problem_name": "Problem C",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "B",
          "problem_id": 33107,
          "problem_name": "The Journey of the King",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "bipartite matching",
            "hashing"
          ],
          "tag_keys": [
            "bipartite_matching",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "C",
          "problem_id": 33108,
          "problem_name": "Double Chunks",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "greedy",
            "set / map",
            "set / map by hashing"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "set",
            "hash_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "D",
          "problem_id": 33109,
          "problem_name": "Treasure Lair",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4384,
          "problem_letter": "E",
          "problem_id": 33110,
          "problem_name": "Three Three Three",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "game theory",
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "game_theory",
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "F",
          "problem_id": 33111,
          "problem_name": "Intensive Training",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "G",
          "problem_id": 33112,
          "problem_name": "Graph Director",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "H",
          "problem_id": 33113,
          "problem_name": "Alchembit Exam",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "greedy",
            "bitmask",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "bitmask",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "I",
          "problem_id": 33114,
          "problem_name": "Count DFS Tree",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "dynamic programming",
            "prefix sum",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "prefix_sum",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "J",
          "problem_id": 33115,
          "problem_name": "Feng Shui",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "greedy",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "K",
          "problem_id": 33116,
          "problem_name": "Red Panda",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "L",
          "problem_id": 33117,
          "problem_name": "Primal Collection",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4384,
          "problem_letter": "M",
          "problem_id": 33118,
          "problem_name": "ICPC Provincial",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "PA",
          "problem_id": 33093,
          "problem_name": "Golden Tickets",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "PB",
          "problem_id": 33094,
          "problem_name": "Diet Plan",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "PC",
          "problem_id": 33090,
          "problem_name": "Permutation Construction",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "sorting",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4384,
          "problem_letter": "PD",
          "problem_id": 33099,
          "problem_name": "Narrow Passageway",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4385,
      "contest_name": "The 2024 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2024 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4385,
          "problem_letter": "A",
          "problem_id": 33119,
          "problem_name": "Scrambled Scrabble",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "B",
          "problem_id": 33120,
          "problem_name": "ICPC Square",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "C",
          "problem_id": 33121,
          "problem_name": "Saraga",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "D",
          "problem_id": 33122,
          "problem_name": "Aquatic Dragon",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "prefix sum",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "prefix_sum",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "E",
          "problem_id": 33123,
          "problem_name": "Narrower Passageway",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "binary search",
            "probability theory",
            "inclusion and exclusion",
            "sparse table",
            "modular multiplicative inverse",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "binary_search",
            "probability",
            "inclusion_and_exclusion",
            "sparse_table",
            "modular_multiplicative_inverse",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "F",
          "problem_id": 33124,
          "problem_name": "Grid Game 3-angle",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "G",
          "problem_id": 33125,
          "problem_name": "X Aura",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "H",
          "problem_id": 33126,
          "problem_name": "Missing Separators",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "dp",
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "I",
          "problem_id": 33127,
          "problem_name": "Microwavable Subsequence",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "J",
          "problem_id": 33128,
          "problem_name": "Xorderable Array",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "data structures",
            "string",
            "tree",
            "trie"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "string",
            "trees",
            "trie"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "K",
          "problem_id": 33129,
          "problem_name": "GCDDCG",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "number theory",
            "inclusion and exclusion",
            "möbius inversion"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "inclusion_and_exclusion",
            "mobius_inversion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "mobius_inversion",
              "name": "möbius inversion",
              "boj_tag_id": 51
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "L",
          "problem_id": 33130,
          "problem_name": "Buggy DFS",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "M",
          "problem_id": 33131,
          "problem_name": "Mirror Maze",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "PA",
          "problem_id": 33118,
          "problem_name": "ICPC Provincial",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "PB",
          "problem_id": 32087,
          "problem_name": "Palindromic Parentheses",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "PC",
          "problem_id": 32088,
          "problem_name": "Triangle Construction",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4385,
          "problem_letter": "PD",
          "problem_id": 33116,
          "problem_name": "Red Panda",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4388,
      "contest_name": "Latin America Regional Contests 2024",
      "contest_full_name": "Latin America Regional Contests 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4388,
          "problem_letter": "A",
          "problem_id": 33135,
          "problem_name": "Append and Panic!",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "B",
          "problem_id": 33136,
          "problem_name": "Biketopia’s Cyclic Track",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "C",
          "problem_id": 33137,
          "problem_name": "Cindy’s Christmas Challenge",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "greedy",
            "prefix sum",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "prefix_sum",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "D",
          "problem_id": 33138,
          "problem_name": "Diverse T-Shirts",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "graph traversal",
            "depth-first search",
            "bipartite matching",
            "bit set"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "dfs",
            "bipartite_matching",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "E",
          "problem_id": 33139,
          "problem_name": "Evereth Expedition",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "F",
          "problem_id": 33140,
          "problem_name": "Finding Privacy",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "G",
          "problem_id": 33141,
          "problem_name": "Grand Glory Race",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "tree",
            "dynamic programming on trees",
            "rerooting on trees"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "dp_tree",
            "rerooting"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "rerooting",
              "name": "rerooting on trees",
              "boj_tag_id": 233
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "H",
          "problem_id": 33142,
          "problem_name": "Heraclosures",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "graph theory",
            "directed acyclic graph",
            "square root decomposition"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "dag",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "I",
          "problem_id": 33143,
          "problem_name": "Inversion Insight",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "J",
          "problem_id": 33144,
          "problem_name": "Jigsaw of Shadows",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "geometry",
            "sweeping"
          ],
          "tag_keys": [
            "geometry",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "K",
          "problem_id": 33145,
          "problem_name": "Kool Strings",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4388,
          "problem_letter": "L",
          "problem_id": 33146,
          "problem_name": "Latin Squares",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "ad-hoc",
            "constructive",
            "permutation cycle decomposition"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "constructive",
            "permutation_cycle_decomposition"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "permutation_cycle_decomposition",
              "name": "permutation cycle decomposition",
              "boj_tag_id": 171
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4393,
      "contest_name": "2023 ICPC Asia Tehran Regional Contest",
      "contest_full_name": "2023 ICPC Asia Tehran Regional Contest",
      "contest_year": 2023,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4393,
          "problem_letter": "A",
          "problem_id": 33178,
          "problem_name": "Micromasters",
          "problem_difficulty": "Bronze V",
          "difficulty_level": 1,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "B",
          "problem_id": 33179,
          "problem_name": "Hezardastan’s Annual Report",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "C",
          "problem_id": 33180,
          "problem_name": "Moderation in all things",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4393,
          "problem_letter": "D",
          "problem_id": 33181,
          "problem_name": "Cup of Tea",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4393,
          "problem_letter": "E",
          "problem_id": 33182,
          "problem_name": "Largest Triangle",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "stack",
            "convex hull"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "stack",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "F",
          "problem_id": 33183,
          "problem_name": "Micromasters Certificates",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "data structures",
            "string",
            "bruteforcing",
            "set / map",
            "set / map by hashing",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "string",
            "bruteforcing",
            "set",
            "hash_set",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "hash_set",
              "name": "set / map by hashing",
              "boj_tag_id": 136
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "G",
          "problem_id": 33184,
          "problem_name": "Jackson House",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "H",
          "problem_id": 33185,
          "problem_name": "Star Wars",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "I",
          "problem_id": 33186,
          "problem_name": "Pistons",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "simulation",
            "difference array"
          ],
          "tag_keys": [
            "implementation",
            "simulation",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "J",
          "problem_id": 33187,
          "problem_name": "Cafebazaar’s Applications",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "K",
          "problem_id": 33188,
          "problem_name": "Monster Warehouse",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "L",
          "problem_id": 33189,
          "problem_name": "Rolling-Dice Puzzle",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4393,
          "problem_letter": "M",
          "problem_id": 33190,
          "problem_name": "Colorful Intervals",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "bruteforcing",
            "two-pointer"
          ],
          "tag_keys": [
            "bruteforcing",
            "two_pointer"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4394,
      "contest_name": "2024 ICPC Asia Tehran Regional Contest",
      "contest_full_name": "2024 ICPC Asia Tehran Regional Contest",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Asia West Continent > Iran",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4394,
          "problem_letter": "A",
          "problem_id": 33191,
          "problem_name": "Yalda",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4394,
          "problem_letter": "B",
          "problem_id": 33192,
          "problem_name": "Divar’s Salaries",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4394,
          "problem_letter": "C",
          "problem_id": 33193,
          "problem_name": "GPT DarkDown",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4394,
          "problem_letter": "D",
          "problem_id": 33194,
          "problem_name": "Electromagnetic Attacks",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4394,
          "problem_letter": "E",
          "problem_id": 33195,
          "problem_name": "PCB",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "greedy",
            "priority queue",
            "sorting"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "priority_queue",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4394,
          "problem_letter": "F",
          "problem_id": 33196,
          "problem_name": "I am Sherlocked",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4394,
          "problem_letter": "G",
          "problem_id": 33197,
          "problem_name": "Double Radars",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4394,
          "problem_letter": "H",
          "problem_id": 33198,
          "problem_name": "Anti-Missile",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4394,
          "problem_letter": "I",
          "problem_id": 33199,
          "problem_name": "Conference Rides",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "binary search",
            "bipartite matching"
          ],
          "tag_keys": [
            "binary_search",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4394,
          "problem_letter": "J",
          "problem_id": 33200,
          "problem_name": "Parking Theory",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4394,
          "problem_letter": "K",
          "problem_id": 33201,
          "problem_name": "Boat",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4396,
      "contest_name": "CPC 2024",
      "contest_full_name": "CPC 2024",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > The Croatian Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4396,
          "problem_letter": "A",
          "problem_id": 33208,
          "problem_name": "AI Armagedon",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "B",
          "problem_id": 33209,
          "problem_name": "Banalne Baze",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4396,
          "problem_letter": "C",
          "problem_id": 33210,
          "problem_name": "Cetinska Cestogradnja",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4396,
          "problem_letter": "D",
          "problem_id": 33211,
          "problem_name": "Drevni Diskovi",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4396,
          "problem_letter": "E",
          "problem_id": 33212,
          "problem_name": "EA Enigma",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "exponentiation by squaring",
            "modular multiplicative inverse",
            "polynomial interpolation"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse",
            "polynomial_interpolation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "polynomial_interpolation",
              "name": "polynomial interpolation",
              "boj_tag_id": 209
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "F",
          "problem_id": 33213,
          "problem_name": "Fermatovi Fakini",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "G",
          "problem_id": 33214,
          "problem_name": "Gladni Gargamel",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "bfs",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "H",
          "problem_id": 33215,
          "problem_name": "Hoditi Hribima",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "directed acyclic graph",
            "dijkstra's",
            "graph theory",
            "shortest path"
          ],
          "tag_keys": [
            "dag",
            "dijkstra",
            "graphs",
            "shortest_path"
          ],
          "tag_details": [
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "I",
          "problem_id": 33216,
          "problem_name": "Izvanredan Ishod",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "J",
          "problem_id": 33217,
          "problem_name": "Jaki Jovsi",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "greedy"
          ],
          "tag_keys": [
            "dp",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4396,
          "problem_letter": "K",
          "problem_id": 33218,
          "problem_name": "Krasan Kod",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "string",
            "graph traversal",
            "binary search",
            "constructive",
            "breadth-first search",
            "depth-first search",
            "hashing",
            "z"
          ],
          "tag_keys": [
            "graphs",
            "string",
            "graph_traversal",
            "binary_search",
            "constructive",
            "bfs",
            "dfs",
            "hashing",
            "z"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4444,
      "contest_name": "The 2024 ICPC European Championship",
      "contest_full_name": "The 2024 ICPC European Championship",
      "contest_year": 2024,
      "contest_path": "ICPC > Regionals > Europe > European Championship",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4444,
          "problem_letter": "A",
          "problem_id": 33586,
          "problem_name": "Grove",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "geometry",
            "precomputation",
            "heuristics"
          ],
          "tag_keys": [
            "geometry",
            "precomputation",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "B",
          "problem_id": 33587,
          "problem_name": "Charming Meals",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bruteforcing",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "bruteforcing",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "C",
          "problem_id": 33588,
          "problem_name": "Annual Ants’ Gathering",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "data structures",
            "greedy",
            "tree",
            "dynamic programming on trees",
            "priority queue",
            "centroid"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "greedy",
            "trees",
            "dp_tree",
            "priority_queue",
            "centroid"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "centroid",
              "name": "centroid",
              "boj_tag_id": 188
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "D",
          "problem_id": 33589,
          "problem_name": "Funny or Scary?",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "constructive"
          ],
          "tag_keys": [
            "graphs",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "E",
          "problem_id": 33590,
          "problem_name": "Damage per Second",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4444,
          "problem_letter": "F",
          "problem_id": 33591,
          "problem_name": "Dating",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "sorting",
            "tree"
          ],
          "tag_keys": [
            "sorting",
            "trees"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "G",
          "problem_id": 33592,
          "problem_name": "Scooter",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "H",
          "problem_id": 33593,
          "problem_name": "Division Avoidance",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "I",
          "problem_id": 33594,
          "problem_name": "Disks",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "bipartite graph",
            "geometry",
            "graph theory"
          ],
          "tag_keys": [
            "bipartite_graph",
            "geometry",
            "graphs"
          ],
          "tag_details": [
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "J",
          "problem_id": 33595,
          "problem_name": "Amanda the Amoeba",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "tree",
            "constructive"
          ],
          "tag_keys": [
            "trees",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4444,
          "problem_letter": "K",
          "problem_id": 33596,
          "problem_name": "Make Triangle",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4445,
      "contest_name": "The 2025 ICPC European Championship",
      "contest_full_name": "The 2025 ICPC European Championship",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > European Championship",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4445,
          "problem_letter": "A",
          "problem_id": 33597,
          "problem_name": "Condorcet Elections",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "B",
          "problem_id": 33598,
          "problem_name": "Urban Planning",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "constructive",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "C",
          "problem_id": 33599,
          "problem_name": "Ads",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "greedy",
            "set / map"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "set"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "D",
          "problem_id": 33600,
          "problem_name": "Morse Code",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "traceback"
          ],
          "tag_keys": [
            "dp",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "E",
          "problem_id": 33601,
          "problem_name": "Porto Vs. Benfica",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "breadth-first search",
            "shortest path",
            "dijkstra's",
            "lowest common ancestor",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "bfs",
            "shortest_path",
            "dijkstra",
            "lca",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "lca",
              "name": "lowest common ancestor",
              "boj_tag_id": 41
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "F",
          "problem_id": 33602,
          "problem_name": "Mascot Naming",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "string",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "G",
          "problem_id": 33603,
          "problem_name": "A Very Long Hike",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "ad-hoc",
            "geometry",
            "shortest path",
            "convex hull"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "geometry",
            "shortest_path",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "H",
          "problem_id": 33604,
          "problem_name": "Statues",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "geometry",
            "constructive"
          ],
          "tag_keys": [
            "geometry",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "I",
          "problem_id": 33605,
          "problem_name": "Pinball",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "grid graph",
            "traceback"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "grid_graph",
            "traceback"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "grid_graph",
              "name": "grid graph",
              "boj_tag_id": 221
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "J",
          "problem_id": 33606,
          "problem_name": "The Ultimate Wine Tasting Event",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "string",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4445,
          "problem_letter": "K",
          "problem_id": 33607,
          "problem_name": "Amusement Park Rides",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "data structures",
            "graph theory",
            "greedy",
            "number theory",
            "priority queue",
            "maximum flow",
            "bipartite matching"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "graphs",
            "greedy",
            "number_theory",
            "priority_queue",
            "flow",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4543,
      "contest_name": "North America Championship 2025",
      "contest_full_name": "North America Championship 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4543,
          "problem_letter": "A",
          "problem_id": 34265,
          "problem_name": "A Totient Quotient",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "prime factorization",
            "euler totient function"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "prime_factorization",
            "euler_phi"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            },
            {
              "key": "euler_phi",
              "name": "euler totient function",
              "boj_tag_id": 151
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "B",
          "problem_id": 34266,
          "problem_name": "Circle of Leaf",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "tree",
            "combinatorics",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "math",
            "dp",
            "trees",
            "combinatorics",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "C",
          "problem_id": 34267,
          "problem_name": "Entrapment",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "D",
          "problem_id": 34268,
          "problem_name": "Geometry Rush",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "geometry",
            "parity"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "E",
          "problem_id": 34269,
          "problem_name": "Humans vs AI",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "divide and conquer",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "divide_and_conquer",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "F",
          "problem_id": 34270,
          "problem_name": "Mob Grinder",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "G",
          "problem_id": 34271,
          "problem_name": "Most Scenic Cycle",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4543,
          "problem_letter": "H",
          "problem_id": 34272,
          "problem_name": "Ornaments on a Tree",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "I",
          "problem_id": 34273,
          "problem_name": "Polygon Partition",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "J",
          "problem_id": 34274,
          "problem_name": "Popping Balloons",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "combinatorics",
            "divide and conquer",
            "probability theory",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "divide_and_conquer",
            "probability",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "K",
          "problem_id": 34275,
          "problem_name": "SLA Tomography",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "L",
          "problem_id": 34276,
          "problem_name": "Solar Farm",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry",
            "calculus",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry",
            "calculus",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 4543,
          "problem_letter": "M",
          "problem_id": 34277,
          "problem_name": "This Is Sparta!",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4567,
      "contest_name": "ICPC World Finals 2025",
      "contest_full_name": "ICPC World Finals 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > World Finals",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4567,
          "problem_letter": "A",
          "problem_id": 34476,
          "problem_name": "A-Skew-ed Reasoning",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "recursion",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "recursion",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "B",
          "problem_id": 34477,
          "problem_name": "Blackboard Game",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "graph theory",
            "game theory",
            "bipartite matching"
          ],
          "tag_keys": [
            "graphs",
            "game_theory",
            "bipartite_matching"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "C",
          "problem_id": 34478,
          "problem_name": "Bride of Pipe Stream",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "graph theory",
            "maximum flow",
            "ternary search",
            "duality"
          ],
          "tag_keys": [
            "graphs",
            "flow",
            "ternary_search",
            "duality"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "duality",
              "name": "duality",
              "boj_tag_id": 180
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "D",
          "problem_id": 34479,
          "problem_name": "Buggy Rover",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "E",
          "problem_id": 34480,
          "problem_name": "Delivery Service",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "disjoint set",
            "inclusion and exclusion",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set",
            "inclusion_and_exclusion",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "F",
          "problem_id": 34481,
          "problem_name": "Herding Cats",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "G",
          "problem_id": 34482,
          "problem_name": "Lava Moat",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [
            "data structures",
            "graph theory",
            "geometry",
            "disjoint set",
            "divide and conquer",
            "offline queries",
            "offline dynamic connectivity"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "geometry",
            "disjoint_set",
            "divide_and_conquer",
            "offline_queries",
            "offline_dynamic_connectivity"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "offline_dynamic_connectivity",
              "name": "offline dynamic connectivity",
              "boj_tag_id": 52
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "H",
          "problem_id": 34483,
          "problem_name": "Score Values",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "dynamic programming",
            "graph theory",
            "number theory",
            "digit dp"
          ],
          "tag_keys": [
            "math",
            "dp",
            "graphs",
            "number_theory",
            "dp_digit"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "dp_digit",
              "name": "digit dp",
              "boj_tag_id": 217
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "I",
          "problem_id": 34484,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4567,
          "problem_letter": "J",
          "problem_id": 34485,
          "problem_name": "Stacking Cups",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "K",
          "problem_id": 34486,
          "problem_name": "Treasure Map",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "greedy"
          ],
          "tag_keys": [
            "graphs",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4567,
          "problem_letter": "L",
          "problem_id": 34487,
          "problem_name": "Walking on Sunshine",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "sorting",
            "ad-hoc",
            "geometry",
            "prefix sum",
            "sweeping",
            "difference array"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc",
            "geometry",
            "prefix_sum",
            "sweeping",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4582,
      "contest_name": "TOPC 2025",
      "contest_full_name": "TOPC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Taiwan > Taiwan Online Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4582,
          "problem_letter": "A",
          "problem_id": 34584,
          "problem_name": "Take It or Double It",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "B",
          "problem_id": 34585,
          "problem_name": "Twin Guardians",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "number theory",
            "primality test"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "primality_test"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "C",
          "problem_id": 34586,
          "problem_name": "One-Way Abyss",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "dynamic programming",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "D",
          "problem_id": 34587,
          "problem_name": "Palindromic Distance",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "string"
          ],
          "tag_keys": [
            "dp",
            "string"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "E",
          "problem_id": 34588,
          "problem_name": "Explosive Slabstones Rearrangement",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "binary search",
            "breadth-first search",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "binary_search",
            "bfs",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "F",
          "problem_id": 34589,
          "problem_name": "Fruitful Compression",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "dynamic programming",
            "bruteforcing",
            "bitmask",
            "dynamic programming using bitfield",
            "sum over subsets dynamic programming"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "bruteforcing",
            "bitmask",
            "dp_bitfield",
            "dp_sum_over_subsets"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "dp_bitfield",
              "name": "dynamic programming using bitfield",
              "boj_tag_id": 87
            },
            {
              "key": "dp_sum_over_subsets",
              "name": "sum over subsets dynamic programming",
              "boj_tag_id": 207
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "G",
          "problem_id": 34590,
          "problem_name": "Gamer Bafuko",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "segment tree",
            "set / map",
            "depth-first search",
            "set / map by trees",
            "diameter of a tree"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "segtree",
            "set",
            "dfs",
            "tree_set",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "H",
          "problem_id": 34591,
          "problem_name": "Chopsticks",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "I",
          "problem_id": 34592,
          "problem_name": "Reactor",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "implementation",
            "data structures",
            "segment tree",
            "segment tree with lazy propagation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "segtree",
            "lazyprop"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "J",
          "problem_id": 34593,
          "problem_name": "Gas Station",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming",
            "greedy",
            "tree",
            "dynamic programming on trees",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "trees",
            "dp_tree",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "K",
          "problem_id": 34594,
          "problem_name": "Move Stone",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "graph theory",
            "maximum flow"
          ],
          "tag_keys": [
            "graphs",
            "flow"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 4582,
          "problem_letter": "L",
          "problem_id": 34595,
          "problem_name": "Stapler",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "geometry",
            "case work",
            "line segment intersection check"
          ],
          "tag_keys": [
            "geometry",
            "case_work",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4585,
      "contest_name": "The 2025 ICPC Asia Pacific Championship",
      "contest_full_name": "The 2025 ICPC Asia Pacific Championship",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Asia Pacific Championship",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4585,
          "problem_letter": "A",
          "problem_id": 34602,
          "problem_name": "Control Towers",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "prefix sum",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "prefix_sum",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "B",
          "problem_id": 34603,
          "problem_name": "Three-Dimensional Embedding",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4585,
          "problem_letter": "C",
          "problem_id": 34604,
          "problem_name": "Cactus Connectivity",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "graph theory",
            "ad-hoc",
            "cactus"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "cactus"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "cactus",
              "name": "cactus",
              "boj_tag_id": 143
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "D",
          "problem_id": 34605,
          "problem_name": "Tower of Hanoi",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "E",
          "problem_id": 34606,
          "problem_name": "Minus Operator",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4585,
          "problem_letter": "F",
          "problem_id": 34607,
          "problem_name": "Hold the Star",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "G",
          "problem_id": 34608,
          "problem_name": "Corrupted File",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "ad-hoc",
            "binary search",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "binary_search",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "H",
          "problem_id": 34609,
          "problem_name": "Secret Lilies and Roses",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "I",
          "problem_id": 34610,
          "problem_name": "Squares on Grid Lines",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "sweeping",
            "offline queries",
            "pythagoras theorem"
          ],
          "tag_keys": [
            "geometry",
            "sweeping",
            "offline_queries",
            "pythagoras"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "pythagoras",
              "name": "pythagoras theorem",
              "boj_tag_id": 60
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "J",
          "problem_id": 34611,
          "problem_name": "Gathering Sharks",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "K",
          "problem_id": 34612,
          "problem_name": "Book Sorting",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "set / map",
            "set / map by trees",
            "divide and conquer",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "set",
            "tree_set",
            "divide_and_conquer",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "L",
          "problem_id": 34613,
          "problem_name": "Boarding Queue",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "M",
          "problem_id": 34614,
          "problem_name": "Can You Reach There?",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "ad-hoc",
            "geometry",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "geometry",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "A",
          "problem_id": 27621,
          "problem_name": "Sum of Three Cubes",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "precomputation"
          ],
          "tag_keys": [
            "implementation",
            "precomputation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "precomputation",
              "name": "precomputation",
              "boj_tag_id": 172
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "B",
          "problem_id": 31601,
          "problem_name": "Symmetric Boundary",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "geometry",
            "convex hull",
            "line segment intersection check",
            "area of a polygon"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "line_intersection",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "C",
          "problem_id": 31592,
          "problem_name": "Online Assignment",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "bruteforcing",
            "ad-hoc",
            "differential cryptanalysis"
          ],
          "tag_keys": [
            "bruteforcing",
            "ad_hoc",
            "differential_cryptanalysis"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "differential_cryptanalysis",
              "name": "differential cryptanalysis",
              "boj_tag_id": 185
            }
          ]
        },
        {
          "contest_id": 4585,
          "problem_letter": "D",
          "problem_id": 31603,
          "problem_name": "Tree Quiz",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "binary search",
            "euler tour technique",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "binary_search",
            "euler_tour_technique",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "euler_tour_technique",
              "name": "euler tour technique",
              "boj_tag_id": 150
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4589,
      "contest_name": "ICPC North America Qualifier 2025",
      "contest_full_name": "ICPC North America Qualifier 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > North America > North America Qualification Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4589,
          "problem_letter": "A",
          "problem_id": 34635,
          "problem_name": "Art Installation",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "greedy",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "B",
          "problem_id": 34636,
          "problem_name": "Backup Towers",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "C",
          "problem_id": 34637,
          "problem_name": "Call for Problems, Round 2",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "D",
          "problem_id": 34638,
          "problem_name": "Carl's Maze-Solving Algorithm",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "E",
          "problem_id": 34639,
          "problem_name": "Curling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4589,
          "problem_letter": "F",
          "problem_id": 34640,
          "problem_name": "Figure Skating Judging",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy",
            "sorting",
            "sliding window"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "G",
          "problem_id": 34641,
          "problem_name": "Mingle",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "number theory",
            "combinatorics",
            "exponentiation by squaring",
            "modular multiplicative inverse"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "combinatorics",
            "exponentiation_by_squaring",
            "modular_multiplicative_inverse"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "H",
          "problem_id": 34642,
          "problem_name": "Seesaw",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "I",
          "problem_id": 34643,
          "problem_name": "Star Guardians",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "J",
          "problem_id": 34644,
          "problem_name": "Ten Player Bingo",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "K",
          "problem_id": 34645,
          "problem_name": "Treasure Hunt",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "L",
          "problem_id": 34646,
          "problem_name": "Triple Jump",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "ad-hoc",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4589,
          "problem_letter": "M",
          "problem_id": 34647,
          "problem_name": "Utopia Relationships",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4591,
      "contest_name": "Seoul Nationalwide Internet Competition 2025",
      "contest_full_name": "Seoul Nationalwide Internet Competition 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition",
      "problem_count": 10,
      "problems": [
        {
          "contest_id": 4591,
          "problem_letter": "A",
          "problem_id": 34677,
          "problem_name": "최적의 분할",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "B",
          "problem_id": 34678,
          "problem_name": "Bridge",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "geometry",
            "prefix sum",
            "sweeping",
            "stack",
            "ternary search"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "prefix_sum",
            "sweeping",
            "stack",
            "ternary_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "C",
          "problem_id": 34679,
          "problem_name": "Docking Day",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal",
            "ad-hoc",
            "breadth-first search",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "ad_hoc",
            "bfs",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "D",
          "problem_id": 34680,
          "problem_name": "Fox Buki",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "ad-hoc",
            "constructive",
            "bipartite matching",
            "hall's theorem"
          ],
          "tag_keys": [
            "graphs",
            "ad_hoc",
            "constructive",
            "bipartite_matching",
            "hall"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bipartite_matching",
              "name": "bipartite matching",
              "boj_tag_id": 13
            },
            {
              "key": "hall",
              "name": "hall's theorem",
              "boj_tag_id": 34
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "E",
          "problem_id": 34681,
          "problem_name": "Image Analysis",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "offline queries",
            "value / coordinate compression",
            "square root decomposition",
            "mo's"
          ],
          "tag_keys": [
            "offline_queries",
            "coordinate_compression",
            "sqrt_decomposition",
            "mo"
          ],
          "tag_details": [
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "F",
          "problem_id": 34682,
          "problem_name": "Inverse Look-and-Say",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "G",
          "problem_id": 34683,
          "problem_name": "Magical Sort",
          "problem_difficulty": "Ruby IV",
          "difficulty_level": 27,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4591,
          "problem_letter": "H",
          "problem_id": 34684,
          "problem_name": "Mountain",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "lis"
          ],
          "tag_details": [
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "I",
          "problem_id": 34685,
          "problem_name": "이차 방정식",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4591,
          "problem_letter": "J",
          "problem_id": 34686,
          "problem_name": "Rescue Squad",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4596,
      "contest_name": "The 2025 ICPC Latin America Championship",
      "contest_full_name": "The 2025 ICPC Latin America Championship",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Championship",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4596,
          "problem_letter": "A",
          "problem_id": 34732,
          "problem_name": "Ananna",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "B",
          "problem_id": 34733,
          "problem_name": "Brazilian FootXOR",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "linear algebra",
            "traceback",
            "gaussian elimination",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "math",
            "linear_algebra",
            "traceback",
            "gaussian_elimination",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "C",
          "problem_id": 34734,
          "problem_name": "Coatless in Yakutsk",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "D",
          "problem_id": 34735,
          "problem_name": "Dangerous City",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "data structures",
            "graph theory",
            "graph traversal",
            "sorting",
            "tree",
            "depth-first search",
            "disjoint set",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "graphs",
            "graph_traversal",
            "sorting",
            "trees",
            "dfs",
            "disjoint_set",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "E",
          "problem_id": 34736,
          "problem_name": "Exciting Business Opportunities",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4596,
          "problem_letter": "F",
          "problem_id": 34737,
          "problem_name": "Festival Signs",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "G",
          "problem_id": 34738,
          "problem_name": "Game of Pieces",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "H",
          "problem_id": 34739,
          "problem_name": "Horrible Restaurants",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "graph theory",
            "data structures",
            "greedy",
            "set / map",
            "maximum flow"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "data_structures",
            "greedy",
            "set",
            "flow"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "I",
          "problem_id": 34740,
          "problem_name": "Infinite Arrays",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4596,
          "problem_letter": "J",
          "problem_id": 34741,
          "problem_name": "Just Look Up",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "geometry",
            "convex hull",
            "geometry; 3d"
          ],
          "tag_keys": [
            "geometry",
            "convex_hull",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "K",
          "problem_id": 34742,
          "problem_name": "Keep Fighting",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4596,
          "problem_letter": "L",
          "problem_id": 34743,
          "problem_name": "LED Counter",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4601,
      "contest_name": "Maratona SBC de Programação 2025",
      "contest_full_name": "Maratona SBC de Programação 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Latin America > Sub-Regional Brasil do ACM ICPC",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4601,
          "problem_letter": "A",
          "problem_id": 34749,
          "problem_name": "A healthy menu",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4601,
          "problem_letter": "B",
          "problem_id": 34770,
          "problem_name": "Baralho Alho",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "C",
          "problem_id": 34771,
          "problem_name": "Collatz polynomial",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4601,
          "problem_letter": "D",
          "problem_id": 34772,
          "problem_name": "Dominoes",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "E",
          "problem_id": 34773,
          "problem_name": "Expansion of the road network",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "F",
          "problem_id": 34774,
          "problem_name": "Frangolino ali na mesa",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "G",
          "problem_id": 34775,
          "problem_name": "Generating patterns",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "bruteforcing",
            "linear algebra",
            "gaussian elimination"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "linear_algebra",
            "gaussian_elimination"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "gaussian_elimination",
              "name": "gaussian elimination",
              "boj_tag_id": 32
            }
          ]
        },
        {
          "contest_id": 4601,
          "problem_letter": "H",
          "problem_id": 34776,
          "problem_name": "How many teams?",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "I",
          "problem_id": 34777,
          "problem_name": "Investigating Quadradômeda",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "J",
          "problem_id": 34778,
          "problem_name": "João João",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4601,
          "problem_letter": "K",
          "problem_id": 34779,
          "problem_name": "Knockout, swiss and other kinds of tournaments",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "L",
          "problem_id": 34780,
          "problem_name": "LLMs",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4601,
          "problem_letter": "M",
          "problem_id": 34781,
          "problem_name": "Minas Gerais’ walls",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4602,
      "contest_name": "Division 1",
      "contest_full_name": "2025 ICPC Pacific Northwest Regional Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2025 ICPC Pacific Northwest Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4602,
          "problem_letter": "A",
          "problem_id": 34782,
          "problem_name": "Bouquet of Balloons",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "sorting",
            "binary search"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4602,
          "problem_letter": "B",
          "problem_id": 34783,
          "problem_name": "Bus Seating",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "C",
          "problem_id": 34784,
          "problem_name": "Closest Equal Pair",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "greedy",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        },
        {
          "contest_id": 4602,
          "problem_letter": "D",
          "problem_id": 34785,
          "problem_name": "Farthest City",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "implementation",
            "data structures",
            "tree",
            "two-pointer",
            "diameter of a tree"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "trees",
            "two_pointer",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 4602,
          "problem_letter": "E",
          "problem_id": 34786,
          "problem_name": "Fractal Painting",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "F",
          "problem_id": 34787,
          "problem_name": "Friendships",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "G",
          "problem_id": 34788,
          "problem_name": "Honkai Stress Relief",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4602,
          "problem_letter": "H",
          "problem_id": 34789,
          "problem_name": "$K^{\\text{th}}$ King",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "I",
          "problem_id": 34790,
          "problem_name": "Pair Linked Mokepon",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "J",
          "problem_id": 34791,
          "problem_name": "Server Room",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "K",
          "problem_id": 34792,
          "problem_name": "Shh",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4602,
          "problem_letter": "L",
          "problem_id": 34793,
          "problem_name": "Training, Round 4",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4602,
          "problem_letter": "M",
          "problem_id": 34794,
          "problem_name": "Triangle of Triangles",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4603,
      "contest_name": "Division 2",
      "contest_full_name": "2025 ICPC Pacific Northwest Regional Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Pacific Northwest Regional > 2025 ICPC Pacific Northwest Regional",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4603,
          "problem_letter": "A",
          "problem_id": 34795,
          "problem_name": "An Elephant Problem",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "B",
          "problem_id": 34796,
          "problem_name": "Call for Problems, Round 3",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "C",
          "problem_id": 34797,
          "problem_name": "GPA Computation",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "D",
          "problem_id": 34788,
          "problem_name": "Honkai Stress Relief",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "E",
          "problem_id": 34798,
          "problem_name": "Missed Alarm",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "F",
          "problem_id": 34799,
          "problem_name": "Strawberry",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "G",
          "problem_id": 34782,
          "problem_name": "Bouquet of Balloons",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "sorting",
            "binary search"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "H",
          "problem_id": 34786,
          "problem_name": "Fractal Painting",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4603,
          "problem_letter": "I",
          "problem_id": 34800,
          "problem_name": "Server Corridor",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "J",
          "problem_id": 34792,
          "problem_name": "Shh",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4603,
          "problem_letter": "K",
          "problem_id": 34801,
          "problem_name": "Solidarity of the Happy Cats",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4603,
          "problem_letter": "L",
          "problem_id": 34793,
          "problem_name": "Training, Round 4",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4603,
          "problem_letter": "M",
          "problem_id": 34794,
          "problem_name": "Triangle of Triangles",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4608,
      "contest_name": "2025 ICPC Asia Seoul Regional",
      "contest_full_name": "2025 ICPC Asia Seoul Regional",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Korea",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4608,
          "problem_letter": "A",
          "problem_id": 34860,
          "problem_name": "Adventurer Dabi",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4608,
          "problem_letter": "B",
          "problem_id": 34861,
          "problem_name": "Badge Relay",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "data structures",
            "segment tree",
            "offline queries",
            "mo's"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "offline_queries",
            "mo"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "mo",
              "name": "mo's",
              "boj_tag_id": 50
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "C",
          "problem_id": 34862,
          "problem_name": "Bay",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "implementation",
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search"
          ],
          "tag_keys": [
            "implementation",
            "graphs",
            "graph_traversal",
            "trees",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "D",
          "problem_id": 34863,
          "problem_name": "Bookshelf",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "E",
          "problem_id": 34864,
          "problem_name": "Clean Arrangements",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "greedy",
            "sorting",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "greedy",
            "sorting",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "F",
          "problem_id": 34865,
          "problem_name": "CPEquivalence",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "dynamic programming",
            "tree",
            "cartesian tree"
          ],
          "tag_keys": [
            "dp",
            "trees",
            "cartesian_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "cartesian_tree",
              "name": "cartesian tree",
              "boj_tag_id": 206
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "G",
          "problem_id": 34866,
          "problem_name": "Extraterrestrial Creatures",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "binary search",
            "priority queue",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "binary_search",
            "priority_queue",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "H",
          "problem_id": 34867,
          "problem_name": "Fair Problemset",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "combinatorics",
            "fast fourier transform"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "fft"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "I",
          "problem_id": 34868,
          "problem_name": "Magic Door",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "J",
          "problem_id": 34869,
          "problem_name": "Mex Culpa",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "data structures",
            "segment tree",
            "multidimensional segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "multi_segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "multi_segtree",
              "name": "multidimensional segment tree",
              "boj_tag_id": 166
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "K",
          "problem_id": 34870,
          "problem_name": "Quadrants",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "sorting",
            "geometry",
            "sweeping",
            "two-pointer",
            "difference array",
            "angle sorting"
          ],
          "tag_keys": [
            "sorting",
            "geometry",
            "sweeping",
            "two_pointer",
            "difference_array",
            "angle_sorting"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            },
            {
              "key": "angle_sorting",
              "name": "angle sorting",
              "boj_tag_id": 240
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "L",
          "problem_id": 34871,
          "problem_name": "Segments",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "greedy",
            "ad-hoc"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4608,
          "problem_letter": "M",
          "problem_id": 34872,
          "problem_name": "Triple Fairness",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4630,
      "contest_name": "ICPC 2025-2026 Northwestern Russia Qualification",
      "contest_full_name": "ICPC 2025-2026 Northwestern Russia Qualification",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 14,
      "problems": [
        {
          "contest_id": 4630,
          "problem_letter": "A",
          "problem_id": 35004,
          "problem_name": "Fight Against Numbers",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "simulation",
            "bitmask"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "simulation",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "B",
          "problem_id": 35005,
          "problem_name": "Time of the Magical Number",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "C",
          "problem_id": 35006,
          "problem_name": "Inflation",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "D",
          "problem_id": 35007,
          "problem_name": "Nine Out Of Ten",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "E",
          "problem_id": 35008,
          "problem_name": "Garden Bed",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "mathematics",
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "F",
          "problem_id": 35009,
          "problem_name": "Largest Area",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "G",
          "problem_id": 35010,
          "problem_name": "Out of Bounds Piano",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "H",
          "problem_id": 35011,
          "problem_name": "Competition Results",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "I",
          "problem_id": 35012,
          "problem_name": "Who Am I?",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "J",
          "problem_id": 35013,
          "problem_name": "Nature Reserve",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "bruteforcing",
            "geometry"
          ],
          "tag_keys": [
            "bruteforcing",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "K",
          "problem_id": 35014,
          "problem_name": "Hex Operations",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "L",
          "problem_id": 35015,
          "problem_name": "Collatz Hypothesis and Random Increases",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4630,
          "problem_letter": "M",
          "problem_id": 35016,
          "problem_name": "Sums of Two",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "dynamic programming",
            "bitmask",
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "dp",
            "bitmask",
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4630,
          "problem_letter": "N",
          "problem_id": 35017,
          "problem_name": "Wanted: Second Sock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4631,
      "contest_name": "ICPC 2025-2026 Northwestern Russia Regional Contest",
      "contest_full_name": "ICPC 2025-2026 Northwestern Russia Regional Contest",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northwestern Russia Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4631,
          "problem_letter": "A",
          "problem_id": 35018,
          "problem_name": "Asynchronous Processor",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "knapsack",
            "bit set"
          ],
          "tag_keys": [
            "knapsack",
            "bitset"
          ],
          "tag_details": [
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "bitset",
              "name": "bit set",
              "boj_tag_id": 152
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "B",
          "problem_id": 35019,
          "problem_name": "Bounding Boxes",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation",
            "sorting",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "sorting",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "C",
          "problem_id": 35020,
          "problem_name": "Compact Encoding",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "bitmask"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "D",
          "problem_id": 35021,
          "problem_name": "Defense Distance",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "E",
          "problem_id": 35022,
          "problem_name": "Eight-Connected Figures",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4631,
          "problem_letter": "F",
          "problem_id": 35023,
          "problem_name": "Faulty Fraction",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "binary search",
            "arbitrary precision / big integers"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "arbitrary_precision"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "arbitrary_precision",
              "name": "arbitrary precision / big integers",
              "boj_tag_id": 117
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "G",
          "problem_id": 35024,
          "problem_name": "Games of Chess",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4631,
          "problem_letter": "H",
          "problem_id": 35025,
          "problem_name": "High Score",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "dp",
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "I",
          "problem_id": 35026,
          "problem_name": "Infection Investigation",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "divide and conquer",
            "square root decomposition",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "ad_hoc",
            "divide_and_conquer",
            "sqrt_decomposition",
            "lis"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "J",
          "problem_id": 35027,
          "problem_name": "Judging Problem",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "implementation",
            "data structures",
            "set / map",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "set",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4631,
          "problem_letter": "K",
          "problem_id": 35028,
          "problem_name": "Keys and Grates",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4631,
          "problem_letter": "L",
          "problem_id": 35029,
          "problem_name": "Lucky Number Theory",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4633,
      "contest_name": "Northern Eurasia Finals 2025",
      "contest_full_name": "Northern Eurasia Finals 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4633,
          "problem_letter": "A",
          "problem_id": 35039,
          "problem_name": "Alphabet City",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "B",
          "problem_id": 35040,
          "problem_name": "Battle of Arrays",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "data structures",
            "greedy",
            "set / map",
            "simulation",
            "priority queue",
            "set / map by trees"
          ],
          "tag_keys": [
            "implementation",
            "data_structures",
            "greedy",
            "set",
            "simulation",
            "priority_queue",
            "tree_set"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "C",
          "problem_id": 35041,
          "problem_name": "Cacti Classification",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4633,
          "problem_letter": "D",
          "problem_id": 35042,
          "problem_name": "Doorway",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "sorting",
            "segment tree",
            "priority queue"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "segtree",
            "priority_queue"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "priority_queue",
              "name": "priority queue",
              "boj_tag_id": 59
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "E",
          "problem_id": 35043,
          "problem_name": "Elevator Against Humanity",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "greedy",
            "case work"
          ],
          "tag_keys": [
            "greedy",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "F",
          "problem_id": 35044,
          "problem_name": "Fragmented Nim",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "game theory"
          ],
          "tag_keys": [
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "G",
          "problem_id": 35045,
          "problem_name": "Greta's Game",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "binary search",
            "prefix sum",
            "parametric search",
            "difference array"
          ],
          "tag_keys": [
            "binary_search",
            "prefix_sum",
            "parametric_search",
            "difference_array"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            },
            {
              "key": "difference_array",
              "name": "difference array",
              "boj_tag_id": 239
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "H",
          "problem_id": 35046,
          "problem_name": "Honey Cake",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "greedy",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "I",
          "problem_id": 35047,
          "problem_name": "Irrigation Interlock",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4633,
          "problem_letter": "J",
          "problem_id": 35048,
          "problem_name": "Jinx or Jackpot",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "K",
          "problem_id": 35049,
          "problem_name": "Knit the Grid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4633,
          "problem_letter": "L",
          "problem_id": 35050,
          "problem_name": "LLM Training",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "string",
            "smaller to larger technique",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "smaller_to_larger",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 4633,
          "problem_letter": "M",
          "problem_id": 35051,
          "problem_name": "Medical Parity",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4637,
      "contest_name": "NWERC 2025",
      "contest_full_name": "NWERC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest",
      "problem_count": 15,
      "problems": [
        {
          "contest_id": 4637,
          "problem_letter": "A",
          "problem_id": 35072,
          "problem_name": "Arcade Crane",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "bruteforcing",
            "graph traversal",
            "constructive",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "bruteforcing",
            "graph_traversal",
            "constructive",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "B",
          "problem_id": 35073,
          "problem_name": "Bisecting Bargain",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "number theory",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "C",
          "problem_id": 35074,
          "problem_name": "Canal Crossing",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "D",
          "problem_id": 35075,
          "problem_name": "Dreamcatcher",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "E",
          "problem_id": 35076,
          "problem_name": "Erratic Lights",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "F",
          "problem_id": 35077,
          "problem_name": "Fair Share",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "G",
          "problem_id": 35078,
          "problem_name": "Group Photo",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "longest increasing sequence problem"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "lis"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lis",
              "name": "longest increasing sequence problem",
              "boj_tag_id": 43
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "H",
          "problem_id": 35079,
          "problem_name": "",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4637,
          "problem_letter": "I",
          "problem_id": 35080,
          "problem_name": "Illuminated Stalls",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "data structures",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "J",
          "problem_id": 35081,
          "problem_name": "Juggling Keys",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "greedy",
            "sorting",
            "constructive",
            "sweeping"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "constructive",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "K",
          "problem_id": 35082,
          "problem_name": "KIT Finding",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "L",
          "problem_id": 35083,
          "problem_name": "Last Christmas",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "A",
          "problem_id": 35069,
          "problem_name": "Atlantic Email",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "B",
          "problem_id": 35070,
          "problem_name": "Build Dependencies",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "set / map",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "set",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4637,
          "problem_letter": "C",
          "problem_id": 35071,
          "problem_name": "Circular Shortcut",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "geometry",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4638,
      "contest_name": "GCPC 2025",
      "contest_full_name": "GCPC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > German Collegiate Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4638,
          "problem_letter": "A",
          "problem_id": 35084,
          "problem_name": "Around the Table",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "B",
          "problem_id": 35085,
          "problem_name": "Bustling Busride",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "greedy",
            "segment tree",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "segtree",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "C",
          "problem_id": 35086,
          "problem_name": "Congklak",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4638,
          "problem_letter": "D",
          "problem_id": 35087,
          "problem_name": "Demand for Cycling",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "ad-hoc",
            "geometry"
          ],
          "tag_keys": [
            "ad_hoc",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "E",
          "problem_id": 35088,
          "problem_name": "Engineering Excellence",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "geometry",
            "case work"
          ],
          "tag_keys": [
            "geometry",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "F",
          "problem_id": 35089,
          "problem_name": "Fair and Square",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "G",
          "problem_id": 35090,
          "problem_name": "Generating Cool Passwords Company",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "string",
            "randomization"
          ],
          "tag_keys": [
            "string",
            "randomization"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "H",
          "problem_id": 35091,
          "problem_name": "Happy Hookup",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search",
            "depth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs",
            "dfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "I",
          "problem_id": 35092,
          "problem_name": "Island Urbanism",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4638,
          "problem_letter": "J",
          "problem_id": 35093,
          "problem_name": "Jumbled Packets",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "constructive",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "K",
          "problem_id": 35094,
          "problem_name": "Karlsruhe Skyline",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "L",
          "problem_id": 35095,
          "problem_name": "Labour Laws",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "ad-hoc",
            "case work"
          ],
          "tag_keys": [
            "ad_hoc",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4638,
          "problem_letter": "M",
          "problem_id": 35096,
          "problem_name": "Mex Hex",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4641,
      "contest_name": "2025 Japan Domestic Contest",
      "contest_full_name": "2025 Japan Domestic Contest",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest",
      "problem_count": 9,
      "problems": [
        {
          "contest_id": 4641,
          "problem_letter": "A",
          "problem_id": 35097,
          "problem_name": "2025",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4641,
          "problem_letter": "B",
          "problem_id": 35098,
          "problem_name": "Prefix and Suffix Can Be the Same",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4641,
          "problem_letter": "C",
          "problem_id": 35099,
          "problem_name": "Calendar of an Enthusiastic Worker",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4641,
          "problem_letter": "D",
          "problem_id": 35100,
          "problem_name": "Ancient Game Board",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4641,
          "problem_letter": "E",
          "problem_id": 35101,
          "problem_name": "To Be Discontinued",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "greedy",
            "tree"
          ],
          "tag_keys": [
            "greedy",
            "trees"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4641,
          "problem_letter": "F",
          "problem_id": 35102,
          "problem_name": "Dog Tricks",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "constructive"
          ],
          "tag_keys": [
            "constructive"
          ],
          "tag_details": [
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4641,
          "problem_letter": "G",
          "problem_id": 35103,
          "problem_name": "Number of Faces",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4641,
          "problem_letter": "H",
          "problem_id": 35104,
          "problem_name": "Parentheses",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4641,
          "problem_letter": "I",
          "problem_id": 35105,
          "problem_name": "Preparing the Lunch",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree",
            "finding invariants"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "invariant"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "invariant",
              "name": "finding invariants",
              "boj_tag_id": 229
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4643,
      "contest_name": "2025 ICPC Asia Yokohama Regional Contest",
      "contest_full_name": "2025 ICPC Asia Yokohama Regional Contest",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Japan",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4643,
          "problem_letter": "A",
          "problem_id": 35119,
          "problem_name": "Tatami Renovation",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "greedy",
            "sweeping"
          ],
          "tag_keys": [
            "greedy",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "B",
          "problem_id": 35120,
          "problem_name": "Minimizing Wildlife Damage",
          "problem_difficulty": "Diamond II",
          "difficulty_level": 24,
          "tags": [
            "dynamic programming",
            "convex hull trick"
          ],
          "tag_keys": [
            "dp",
            "cht"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "C",
          "problem_id": 35121,
          "problem_name": "Seagull Population",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy",
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "D",
          "problem_id": 35122,
          "problem_name": "Decompose and Concatenate",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "E",
          "problem_id": 35123,
          "problem_name": "Cutting Tofu",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "F",
          "problem_id": 35124,
          "problem_name": "Astral Geometry",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "geometry",
            "linear algebra",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "linear_algebra",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "linear_algebra",
              "name": "linear algebra",
              "boj_tag_id": 144
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "G",
          "problem_id": 35125,
          "problem_name": "Charity Raffle",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "combinatorics",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "H",
          "problem_id": 35126,
          "problem_name": "U-Shaped Panels",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "implementation",
            "bruteforcing",
            "ad-hoc",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "ad_hoc",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "I",
          "problem_id": 35127,
          "problem_name": "Game of Names",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "game theory"
          ],
          "tag_keys": [
            "ad_hoc",
            "game_theory"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "J",
          "problem_id": 35128,
          "problem_name": "ICPC Board",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "ad-hoc"
          ],
          "tag_keys": [
            "implementation",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "K",
          "problem_id": 35129,
          "problem_name": "Membership Structure of a Secret Society",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "graph traversal"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            }
          ]
        },
        {
          "contest_id": 4643,
          "problem_letter": "L",
          "problem_id": 35130,
          "problem_name": "Common Tangent Lines",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4644,
      "contest_name": "INC 2025",
      "contest_full_name": "INC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest",
      "problem_count": 16,
      "problems": [
        {
          "contest_id": 4644,
          "problem_letter": "A",
          "problem_id": 35131,
          "problem_name": "National Science Olympiad",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "B",
          "problem_id": 35132,
          "problem_name": "Construct BFS Graph",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "graph theory",
            "greedy",
            "graph traversal",
            "constructive",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "graph_traversal",
            "constructive",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "C",
          "problem_id": 35133,
          "problem_name": "Polynomially Constructed",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "greedy",
            "calculus"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "calculus"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "calculus",
              "name": "calculus",
              "boj_tag_id": 111
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "D",
          "problem_id": 35134,
          "problem_name": "Divido Travel",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "graph theory",
            "shortest path",
            "dijkstra's"
          ],
          "tag_keys": [
            "graphs",
            "shortest_path",
            "dijkstra"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "E",
          "problem_id": 35135,
          "problem_name": "Xordition Robot",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "F",
          "problem_id": 35136,
          "problem_name": "Food Rating",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "number theory",
            "constructive",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "constructive",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "G",
          "problem_id": 35137,
          "problem_name": "Mex XOR",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "data structures",
            "binary search",
            "set / map",
            "bitmask"
          ],
          "tag_keys": [
            "data_structures",
            "binary_search",
            "set",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "H",
          "problem_id": 35138,
          "problem_name": "Light Control System",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "segment tree",
            "binary search",
            "two-pointer",
            "offline queries",
            "sparse table",
            "xor basis (gf(2))"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "binary_search",
            "two_pointer",
            "offline_queries",
            "sparse_table",
            "xor_basis"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "xor_basis",
              "name": "xor basis (gf(2))",
              "boj_tag_id": 236
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "I",
          "problem_id": 35139,
          "problem_name": "Rectangular Pool",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "J",
          "problem_id": 35140,
          "problem_name": "Mediation",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "graph theory",
            "graph traversal",
            "combinatorics",
            "breadth-first search"
          ],
          "tag_keys": [
            "math",
            "graphs",
            "graph_traversal",
            "combinatorics",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "K",
          "problem_id": 35141,
          "problem_name": "Palindrome Partition",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "implementation",
            "greedy",
            "string",
            "constructive"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "string",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "L",
          "problem_id": 35142,
          "problem_name": "Honourable Arrays",
          "problem_difficulty": "Diamond III",
          "difficulty_level": 23,
          "tags": [
            "mathematics",
            "number theory",
            "fast fourier transform",
            "generating function",
            "discrete logarithm"
          ],
          "tag_keys": [
            "math",
            "number_theory",
            "fft",
            "generating_function",
            "discrete_log"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "fft",
              "name": "fast fourier transform",
              "boj_tag_id": 28
            },
            {
              "key": "generating_function",
              "name": "generating function",
              "boj_tag_id": 198
            },
            {
              "key": "discrete_log",
              "name": "discrete logarithm",
              "boj_tag_id": 146
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "PA",
          "problem_id": 33106,
          "problem_name": "Problem C",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "PB",
          "problem_id": 33109,
          "problem_name": "Treasure Lair",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4644,
          "problem_letter": "PC",
          "problem_id": 33112,
          "problem_name": "Graph Director",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4644,
          "problem_letter": "PD",
          "problem_id": 33118,
          "problem_name": "ICPC Provincial",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "sorting",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4648,
      "contest_name": "The 2025 ICPC Asia Jakarta Regional Contest",
      "contest_full_name": "The 2025 ICPC Asia Jakarta Regional Contest",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Asia Pacific > Indonesia > Jakarta",
      "problem_count": 17,
      "problems": [
        {
          "contest_id": 4648,
          "problem_letter": "A",
          "problem_id": 35166,
          "problem_name": "A. Nihilation",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "B",
          "problem_id": 35167,
          "problem_name": "Burning Blocks",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "dynamic programming",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "C",
          "problem_id": 35168,
          "problem_name": "Binary Grid",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "greedy",
            "constructive"
          ],
          "tag_keys": [
            "greedy",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "D",
          "problem_id": 35169,
          "problem_name": "Count DFS Graph",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "E",
          "problem_id": 35170,
          "problem_name": "Mugen E",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "dynamic programming",
            "string",
            "hashing",
            "z"
          ],
          "tag_keys": [
            "dp",
            "string",
            "hashing",
            "z"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "z",
              "name": "z",
              "boj_tag_id": 83
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "F",
          "problem_id": 35171,
          "problem_name": "Two Sets",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "ad-hoc"
          ],
          "tag_keys": [
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "G",
          "problem_id": 35172,
          "problem_name": "Grid Game 2×2",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "game theory",
            "sprague–grundy theorem"
          ],
          "tag_keys": [
            "game_theory",
            "sprague_grundy"
          ],
          "tag_details": [
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "sprague_grundy",
              "name": "sprague–grundy theorem",
              "boj_tag_id": 70
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "H",
          "problem_id": 35173,
          "problem_name": "Maximeter",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "I",
          "problem_id": 35174,
          "problem_name": "International Olympiad in ICPC",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "binary search",
            "divide and conquer",
            "two-pointer",
            "divide and conquer optimization"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "binary_search",
            "divide_and_conquer",
            "two_pointer",
            "divide_and_conquer_optimization"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "two_pointer",
              "name": "two-pointer",
              "boj_tag_id": 80
            },
            {
              "key": "divide_and_conquer_optimization",
              "name": "divide and conquer optimization",
              "boj_tag_id": 91
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "J",
          "problem_id": 35175,
          "problem_name": "AND and/or OR",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "ad-hoc",
            "bitmask"
          ],
          "tag_keys": [
            "ad_hoc",
            "bitmask"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "bitmask",
              "name": "bitmask",
              "boj_tag_id": 14
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "K",
          "problem_id": 35176,
          "problem_name": "Travelling Taro Trains",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "L",
          "problem_id": 35177,
          "problem_name": "Down Right Chips",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "M",
          "problem_id": 35178,
          "problem_name": "Predisposed",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "PA",
          "problem_id": 33119,
          "problem_name": "Scrambled Scrabble",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "PB",
          "problem_id": 33121,
          "problem_name": "Saraga",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "greedy",
            "string"
          ],
          "tag_keys": [
            "greedy",
            "string"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "PC",
          "problem_id": 33127,
          "problem_name": "Microwavable Subsequence",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "sweeping"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4648,
          "problem_letter": "PD",
          "problem_id": 33123,
          "problem_name": "Narrower Passageway",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "data structures",
            "number theory",
            "segment tree",
            "binary search",
            "probability theory",
            "inclusion and exclusion",
            "sparse table",
            "modular multiplicative inverse",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "data_structures",
            "number_theory",
            "segtree",
            "binary_search",
            "probability",
            "inclusion_and_exclusion",
            "sparse_table",
            "modular_multiplicative_inverse",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            },
            {
              "key": "sparse_table",
              "name": "sparse table",
              "boj_tag_id": 84
            },
            {
              "key": "modular_multiplicative_inverse",
              "name": "modular multiplicative inverse",
              "boj_tag_id": 164
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4651,
      "contest_name": "BAPC 2025 Preliminaries",
      "contest_full_name": "BAPC 2025 Preliminaries",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4651,
          "problem_letter": "A",
          "problem_id": 35192,
          "problem_name": "Alto Adaptation",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "dynamic programming",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "dp",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "B",
          "problem_id": 35193,
          "problem_name": "Bottle of New Port",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "C",
          "problem_id": 35194,
          "problem_name": "Calculation Obfuscation",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4651,
          "problem_letter": "D",
          "problem_id": 35195,
          "problem_name": "Dralinpome",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "string",
            "parity"
          ],
          "tag_keys": [
            "string",
            "parity"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "E",
          "problem_id": 35196,
          "problem_name": "Entropy Evasion",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "greedy",
            "bruteforcing",
            "prefix sum",
            "probability theory",
            "maximum subarray",
            "statistics"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "bruteforcing",
            "prefix_sum",
            "probability",
            "maximum_subarray",
            "statistics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "maximum_subarray",
              "name": "maximum subarray",
              "boj_tag_id": 234
            },
            {
              "key": "statistics",
              "name": "statistics",
              "boj_tag_id": 178
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "F",
          "problem_id": 35197,
          "problem_name": "Friendly Formation",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "dynamic programming",
            "graph theory",
            "graph traversal",
            "constructive",
            "breadth-first search",
            "knapsack",
            "traceback",
            "bipartite graph"
          ],
          "tag_keys": [
            "dp",
            "graphs",
            "graph_traversal",
            "constructive",
            "bfs",
            "knapsack",
            "traceback",
            "bipartite_graph"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "knapsack",
              "name": "knapsack",
              "boj_tag_id": 148
            },
            {
              "key": "traceback",
              "name": "traceback",
              "boj_tag_id": 235
            },
            {
              "key": "bipartite_graph",
              "name": "bipartite graph",
              "boj_tag_id": 197
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "G",
          "problem_id": 35198,
          "problem_name": "Genealogy Gumbo",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4651,
          "problem_letter": "H",
          "problem_id": 35199,
          "problem_name": "Hidden Sequence",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "I",
          "problem_id": 35200,
          "problem_name": "Ingredient Intervals",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4651,
          "problem_letter": "J",
          "problem_id": 35201,
          "problem_name": "Journal Publication",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_keys": [
            "greedy",
            "string",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "K",
          "problem_id": 35202,
          "problem_name": "Koehandel",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4651,
          "problem_letter": "L",
          "problem_id": 35203,
          "problem_name": "Landgrave",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "greedy",
            "geometry",
            "convex hull"
          ],
          "tag_keys": [
            "greedy",
            "geometry",
            "convex_hull"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "convex_hull",
              "name": "convex hull",
              "boj_tag_id": 20
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4652,
      "contest_name": "BAPC 2025",
      "contest_full_name": "BAPC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4652,
          "problem_letter": "A",
          "problem_id": 35204,
          "problem_name": "Accidental Arithmetic",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "mathematics",
            "probability theory",
            "linearity of expectation"
          ],
          "tag_keys": [
            "math",
            "probability",
            "linearity_of_expectation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            },
            {
              "key": "linearity_of_expectation",
              "name": "linearity of expectation",
              "boj_tag_id": 179
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "B",
          "problem_id": 35205,
          "problem_name": "Boggle Sort",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "C",
          "problem_id": 35206,
          "problem_name": "Coherency",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "sorting",
            "ad-hoc",
            "geometry",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "sorting",
            "ad_hoc",
            "geometry",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "D",
          "problem_id": 35207,
          "problem_name": "Duo Detection",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "square root decomposition"
          ],
          "tag_keys": [
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "E",
          "problem_id": 35208,
          "problem_name": "Excruciating Elevators",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "bruteforcing"
          ],
          "tag_keys": [
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "F",
          "problem_id": 35209,
          "problem_name": "Faulty Connection",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "G",
          "problem_id": 35210,
          "problem_name": "Garbage In, Garbage Out",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "string",
            "randomization",
            "heuristics"
          ],
          "tag_keys": [
            "string",
            "randomization",
            "heuristics"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "randomization",
              "name": "randomization",
              "boj_tag_id": 115
            },
            {
              "key": "heuristics",
              "name": "heuristics",
              "boj_tag_id": 142
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "H",
          "problem_id": 35211,
          "problem_name": "Homesick",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "breadth-first search"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "bfs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "I",
          "problem_id": 35212,
          "problem_name": "Intermill Logistics",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "greedy",
            "sorting",
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "greedy",
            "sorting",
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "J",
          "problem_id": 35213,
          "problem_name": "Jacobi Numbers",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "K",
          "problem_id": 35214,
          "problem_name": "Knowing the Clock",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4652,
          "problem_letter": "L",
          "problem_id": 35215,
          "problem_name": "Linguistic Labyrinth",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics",
            "geometry",
            "combinatorics",
            "geometry; 3d"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "combinatorics",
            "geometry_3d"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "geometry_3d",
              "name": "geometry; 3d",
              "boj_tag_id": 131
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4653,
      "contest_name": "NCPC 2025",
      "contest_full_name": "NCPC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest",
      "problem_count": 11,
      "problems": [
        {
          "contest_id": 4653,
          "problem_letter": "A",
          "problem_id": 35216,
          "problem_name": "Arithmetic Adaptation",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "B",
          "problem_id": 35217,
          "problem_name": "Bohemian Bookshelf",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "C",
          "problem_id": 35218,
          "problem_name": "Crochet Competition",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "case work"
          ],
          "tag_keys": [
            "implementation",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "D",
          "problem_id": 35219,
          "problem_name": "Dune Dash",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "sorting",
            "ad-hoc",
            "geometry"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "E",
          "problem_id": 35220,
          "problem_name": "Egyptian Equality",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "F",
          "problem_id": 35221,
          "problem_name": "Follower Forensics",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "data structures",
            "greedy",
            "disjoint set",
            "smaller to larger technique"
          ],
          "tag_keys": [
            "data_structures",
            "greedy",
            "disjoint_set",
            "smaller_to_larger"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            },
            {
              "key": "smaller_to_larger",
              "name": "smaller to larger technique",
              "boj_tag_id": 169
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "G",
          "problem_id": 35222,
          "problem_name": "Gotta Trade Some of 'Em",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "graph theory",
            "graph traversal",
            "constructive",
            "flood-fill"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "constructive",
            "flood_fill"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "flood_fill",
              "name": "flood-fill",
              "boj_tag_id": 210
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "H",
          "problem_id": 35223,
          "problem_name": "Hidden Permutation",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "backtracking"
          ],
          "tag_keys": [
            "backtracking"
          ],
          "tag_details": [
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "I",
          "problem_id": 35224,
          "problem_name": "Instagraph",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "data structures",
            "graph theory",
            "set / map"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "J",
          "problem_id": 35225,
          "problem_name": "Jump",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4653,
          "problem_letter": "K",
          "problem_id": 35226,
          "problem_name": "km/h",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "implementation"
          ],
          "tag_keys": [
            "math",
            "implementation"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4654,
      "contest_name": "SWERC 2025",
      "contest_full_name": "SWERC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Southwestern European Regional Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4654,
          "problem_letter": "A",
          "problem_id": 35227,
          "problem_name": "Adjusting Drones",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "data structures",
            "sweeping",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "sweeping",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "B",
          "problem_id": 35228,
          "problem_name": "Billion Players Game",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "greedy",
            "sorting"
          ],
          "tag_keys": [
            "math",
            "greedy",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "C",
          "problem_id": 35229,
          "problem_name": "Chamber of Secrets 2",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "graph theory",
            "greedy",
            "constructive",
            "parity"
          ],
          "tag_keys": [
            "graphs",
            "greedy",
            "constructive",
            "parity"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "D",
          "problem_id": 35230,
          "problem_name": "Dungeon Equilibrium",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "E",
          "problem_id": 35231,
          "problem_name": "Expansion Plan 2",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "prefix sum"
          ],
          "tag_keys": [
            "math",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "F",
          "problem_id": 35232,
          "problem_name": "Factory Table",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics"
          ],
          "tag_keys": [
            "math"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "G",
          "problem_id": 35233,
          "problem_name": "Git Gud",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "ad-hoc",
            "constructive",
            "square root decomposition"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive",
            "sqrt_decomposition"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "sqrt_decomposition",
              "name": "square root decomposition",
              "boj_tag_id": 130
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "H",
          "problem_id": 35234,
          "problem_name": "Hyper Smawk Bros",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "ad-hoc",
            "backtracking",
            "game theory",
            "recursion"
          ],
          "tag_keys": [
            "ad_hoc",
            "backtracking",
            "game_theory",
            "recursion"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "game_theory",
              "name": "game theory",
              "boj_tag_id": 140
            },
            {
              "key": "recursion",
              "name": "recursion",
              "boj_tag_id": 62
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "I",
          "problem_id": 35235,
          "problem_name": "Isaac’s Queries",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "dynamic programming",
            "bruteforcing",
            "constructive"
          ],
          "tag_keys": [
            "math",
            "dp",
            "bruteforcing",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "J",
          "problem_id": 35236,
          "problem_name": "Jewels Building",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "dynamic programming",
            "ad-hoc",
            "prefix sum"
          ],
          "tag_keys": [
            "dp",
            "ad_hoc",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4654,
          "problem_letter": "K",
          "problem_id": 35237,
          "problem_name": "Keygen 3",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4654,
          "problem_letter": "L",
          "problem_id": 35238,
          "problem_name": "LFS",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "prefix sum",
            "hashing"
          ],
          "tag_keys": [
            "prefix_sum",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4655,
      "contest_name": "UKIEPC 2025",
      "contest_full_name": "UKIEPC 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4655,
          "problem_letter": "A",
          "problem_id": 35239,
          "problem_name": "Arboreal Challenge",
          "problem_difficulty": "Diamond I",
          "difficulty_level": 25,
          "tags": [
            "mathematics",
            "geometry",
            "binary search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "B",
          "problem_id": 35240,
          "problem_name": "Brickwork",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "sorting",
            "sweeping"
          ],
          "tag_keys": [
            "sorting",
            "sweeping"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "C",
          "problem_id": 35241,
          "problem_name": "Colourful Captcha",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4655,
          "problem_letter": "D",
          "problem_id": 35242,
          "problem_name": "Depot",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4655,
          "problem_letter": "E",
          "problem_id": 35243,
          "problem_name": "Enclosure",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "geometry",
            "area of a polygon"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "polygon_area"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "polygon_area",
              "name": "area of a polygon",
              "boj_tag_id": 3
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "F",
          "problem_id": 35244,
          "problem_name": "Fell Walking",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "data structures",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "G",
          "problem_id": 35245,
          "problem_name": "Get Good",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "case work"
          ],
          "tag_keys": [
            "math",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "H",
          "problem_id": 35246,
          "problem_name": "Hybrid Search",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4655,
          "problem_letter": "I",
          "problem_id": 35247,
          "problem_name": "Itsy Bits",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "J",
          "problem_id": 35248,
          "problem_name": "Joust Sort",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory",
            "directed acyclic graph",
            "topological sorting"
          ],
          "tag_keys": [
            "graphs",
            "dag",
            "topological_sorting"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "dag",
              "name": "directed acyclic graph",
              "boj_tag_id": 213
            },
            {
              "key": "topological_sorting",
              "name": "topological sorting",
              "boj_tag_id": 78
            }
          ]
        },
        {
          "contest_id": 4655,
          "problem_letter": "K",
          "problem_id": 35249,
          "problem_name": "Klaus",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4655,
          "problem_letter": "L",
          "problem_id": 35250,
          "problem_name": "Last Orders",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4655,
          "problem_letter": "M",
          "problem_id": 35251,
          "problem_name": "Motorway Stops",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy"
          ],
          "tag_keys": [
            "implementation",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4675,
      "contest_name": "Division 1",
      "contest_full_name": "2024 South Central USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2024 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4675,
          "problem_letter": "A",
          "problem_id": 32841,
          "problem_name": "Welcome Sign",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "B",
          "problem_id": 32842,
          "problem_name": "Triangles of a Square",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "C",
          "problem_id": 32843,
          "problem_name": "City Bike",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "D",
          "problem_id": 32844,
          "problem_name": "Duel of Cards",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "E",
          "problem_id": 32845,
          "problem_name": "Elevated Rails",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "F",
          "problem_id": 32846,
          "problem_name": "Finding Keys",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "G",
          "problem_id": 32847,
          "problem_name": "Intergalactic Team",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "H",
          "problem_id": 32848,
          "problem_name": "Herb Mixing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "I",
          "problem_id": 32849,
          "problem_name": "Island Memories",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "J",
          "problem_id": 32850,
          "problem_name": "Perfect Squares",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "K",
          "problem_id": 32851,
          "problem_name": "Optimized Cheating",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "arithmetic",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "arithmetic",
            "bfs",
            "graphs",
            "graph_traversal",
            "math",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "L",
          "problem_id": 32852,
          "problem_name": "Pianissimo",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4675,
          "problem_letter": "M",
          "problem_id": 32853,
          "problem_name": "Virtual Reality Playspace",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4676,
      "contest_name": "Division 2",
      "contest_full_name": "2024 South Central USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2024 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4676,
          "problem_letter": "A",
          "problem_id": 32841,
          "problem_name": "Welcome Sign",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "B",
          "problem_id": 32842,
          "problem_name": "Triangles of a Square",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "C",
          "problem_id": 32854,
          "problem_name": "Traffic Lights",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "D",
          "problem_id": 32844,
          "problem_name": "Duel of Cards",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "E",
          "problem_id": 32855,
          "problem_name": "Which One is Larger",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "F",
          "problem_id": 32856,
          "problem_name": "Office Building",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "G",
          "problem_id": 32847,
          "problem_name": "Intergalactic Team",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "H",
          "problem_id": 32848,
          "problem_name": "Herb Mixing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "I",
          "problem_id": 32849,
          "problem_name": "Island Memories",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "J",
          "problem_id": 32850,
          "problem_name": "Perfect Squares",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "K",
          "problem_id": 32851,
          "problem_name": "Optimized Cheating",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "arithmetic",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "arithmetic",
            "bfs",
            "graphs",
            "graph_traversal",
            "math",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "L",
          "problem_id": 32852,
          "problem_name": "Pianissimo",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4676,
          "problem_letter": "M",
          "problem_id": 32857,
          "problem_name": "Memories of Passport Stamps",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4677,
      "contest_name": "Division 1",
      "contest_full_name": "2024 Mid-Atlantic USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2024 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4677,
          "problem_letter": "A",
          "problem_id": 32841,
          "problem_name": "Welcome Sign",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "B",
          "problem_id": 32842,
          "problem_name": "Triangles of a Square",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "C",
          "problem_id": 32843,
          "problem_name": "City Bike",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "binary search"
          ],
          "tag_keys": [
            "binary_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "D",
          "problem_id": 32844,
          "problem_name": "Duel of Cards",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "E",
          "problem_id": 32845,
          "problem_name": "Elevated Rails",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "graph theory",
            "graph traversal",
            "tree",
            "depth-first search",
            "diameter of a tree"
          ],
          "tag_keys": [
            "graphs",
            "graph_traversal",
            "trees",
            "dfs",
            "tree_diameter"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dfs",
              "name": "depth-first search",
              "boj_tag_id": 127
            },
            {
              "key": "tree_diameter",
              "name": "diameter of a tree",
              "boj_tag_id": 222
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "F",
          "problem_id": 32846,
          "problem_name": "Finding Keys",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "string",
            "suffix array and lcp array"
          ],
          "tag_keys": [
            "string",
            "suffix_array"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "suffix_array",
              "name": "suffix array and lcp array",
              "boj_tag_id": 77
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "G",
          "problem_id": 32847,
          "problem_name": "Intergalactic Team",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "H",
          "problem_id": 32848,
          "problem_name": "Herb Mixing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "I",
          "problem_id": 32849,
          "problem_name": "Island Memories",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "J",
          "problem_id": 32850,
          "problem_name": "Perfect Squares",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "K",
          "problem_id": 32851,
          "problem_name": "Optimized Cheating",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "arithmetic",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "arithmetic",
            "bfs",
            "graphs",
            "graph_traversal",
            "math",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "L",
          "problem_id": 32852,
          "problem_name": "Pianissimo",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4677,
          "problem_letter": "M",
          "problem_id": 32853,
          "problem_name": "Virtual Reality Playspace",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "stack"
          ],
          "tag_keys": [
            "data_structures",
            "stack"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "stack",
              "name": "stack",
              "boj_tag_id": 71
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4678,
      "contest_name": "Division 2",
      "contest_full_name": "2024 Mid-Atlantic USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2024 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4678,
          "problem_letter": "A",
          "problem_id": 32841,
          "problem_name": "Welcome Sign",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "B",
          "problem_id": 32842,
          "problem_name": "Triangles of a Square",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "geometry"
          ],
          "tag_keys": [
            "geometry"
          ],
          "tag_details": [
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "C",
          "problem_id": 32854,
          "problem_name": "Traffic Lights",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "D",
          "problem_id": 32844,
          "problem_name": "Duel of Cards",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "E",
          "problem_id": 32855,
          "problem_name": "Which One is Larger",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "mathematics",
            "implementation",
            "string",
            "parsing"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "string",
            "parsing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "parsing",
              "name": "parsing",
              "boj_tag_id": 96
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "F",
          "problem_id": 32856,
          "problem_name": "Office Building",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "implementation",
            "bruteforcing"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "G",
          "problem_id": 32847,
          "problem_name": "Intergalactic Team",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "set / map",
            "disjoint set"
          ],
          "tag_keys": [
            "data_structures",
            "set",
            "disjoint_set"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "disjoint_set",
              "name": "disjoint set",
              "boj_tag_id": 81
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "H",
          "problem_id": 32848,
          "problem_name": "Herb Mixing",
          "problem_difficulty": "Silver V",
          "difficulty_level": 6,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "I",
          "problem_id": 32849,
          "problem_name": "Island Memories",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "implementation",
            "tree"
          ],
          "tag_keys": [
            "implementation",
            "trees"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "J",
          "problem_id": 32850,
          "problem_name": "Perfect Squares",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "primality test",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "primality_test",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "primality_test",
              "name": "primality test",
              "boj_tag_id": 9
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "K",
          "problem_id": 32851,
          "problem_name": "Optimized Cheating",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "arithmetic",
            "breadth-first search",
            "graph theory",
            "graph traversal",
            "mathematics",
            "pigeonhole principle"
          ],
          "tag_keys": [
            "arithmetic",
            "bfs",
            "graphs",
            "graph_traversal",
            "math",
            "pigeonhole_principle"
          ],
          "tag_details": [
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "bfs",
              "name": "breadth-first search",
              "boj_tag_id": 126
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "pigeonhole_principle",
              "name": "pigeonhole principle",
              "boj_tag_id": 189
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "L",
          "problem_id": 32852,
          "problem_name": "Pianissimo",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "implementation",
            "sorting"
          ],
          "tag_keys": [
            "implementation",
            "sorting"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            }
          ]
        },
        {
          "contest_id": 4678,
          "problem_letter": "M",
          "problem_id": 32857,
          "problem_name": "Memories of Passport Stamps",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "binary search",
            "parametric search"
          ],
          "tag_keys": [
            "binary_search",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4679,
      "contest_name": "Division 1",
      "contest_full_name": "2025 Southeast USA Regional Programming Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2025 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4679,
          "problem_letter": "A",
          "problem_id": 35354,
          "problem_name": "Orchard Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4679,
          "problem_letter": "B",
          "problem_id": 35355,
          "problem_name": "Blind Bottles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "C",
          "problem_id": 35356,
          "problem_name": "One Way Only",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "D",
          "problem_id": 35357,
          "problem_name": "GUID Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "hashing",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "hashing",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "E",
          "problem_id": 35358,
          "problem_name": "Photo Encoding",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "F",
          "problem_id": 35359,
          "problem_name": "Meeting Free Fridays",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "G",
          "problem_id": 35360,
          "problem_name": "Galaxy Governance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4679,
          "problem_letter": "H",
          "problem_id": 35361,
          "problem_name": "Rows of Stars",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "I",
          "problem_id": 35362,
          "problem_name": "Manhattan Interference",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4679,
          "problem_letter": "J",
          "problem_id": 35363,
          "problem_name": "Game of Nines",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "K",
          "problem_id": 35364,
          "problem_name": "Swap for Palindrome",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "prefix sum",
            "case work"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4679,
          "problem_letter": "L",
          "problem_id": 35365,
          "problem_name": "Tree Racing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4679,
          "problem_letter": "M",
          "problem_id": 35366,
          "problem_name": "Much Room for Mushrooms",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4680,
      "contest_name": "Division 2",
      "contest_full_name": "2025 Southeast USA Regional Programming Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Southeast USA Regional > 2025 Southeast USA Regional Programming Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4680,
          "problem_letter": "A",
          "problem_id": 35367,
          "problem_name": "Snakey String",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "B",
          "problem_id": 35355,
          "problem_name": "Blind Bottles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "C",
          "problem_id": 35356,
          "problem_name": "One Way Only",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "D",
          "problem_id": 35357,
          "problem_name": "GUID Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "hashing",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "hashing",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "E",
          "problem_id": 35358,
          "problem_name": "Photo Encoding",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "F",
          "problem_id": 35368,
          "problem_name": "Breakout",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "G",
          "problem_id": 35369,
          "problem_name": "Shinjuku Station",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "H",
          "problem_id": 35370,
          "problem_name": "Memories of Passport Control",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "I",
          "problem_id": 35371,
          "problem_name": "Inazuma Cube Device",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "J",
          "problem_id": 35363,
          "problem_name": "Game of Nines",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "K",
          "problem_id": 35364,
          "problem_name": "Swap for Palindrome",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "prefix sum",
            "case work"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "L",
          "problem_id": 35372,
          "problem_name": "Moonlit Time Machine",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4680,
          "problem_letter": "M",
          "problem_id": 35366,
          "problem_name": "Much Room for Mushrooms",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4681,
      "contest_name": "Division 1",
      "contest_full_name": "2025 South Central USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2025 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4681,
          "problem_letter": "A",
          "problem_id": 35354,
          "problem_name": "Orchard Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4681,
          "problem_letter": "B",
          "problem_id": 35355,
          "problem_name": "Blind Bottles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "C",
          "problem_id": 35356,
          "problem_name": "One Way Only",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "D",
          "problem_id": 35357,
          "problem_name": "GUID Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "hashing",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "hashing",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "E",
          "problem_id": 35358,
          "problem_name": "Photo Encoding",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "F",
          "problem_id": 35359,
          "problem_name": "Meeting Free Fridays",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "G",
          "problem_id": 35360,
          "problem_name": "Galaxy Governance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4681,
          "problem_letter": "H",
          "problem_id": 35361,
          "problem_name": "Rows of Stars",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "I",
          "problem_id": 35362,
          "problem_name": "Manhattan Interference",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4681,
          "problem_letter": "J",
          "problem_id": 35363,
          "problem_name": "Game of Nines",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "K",
          "problem_id": 35364,
          "problem_name": "Swap for Palindrome",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "prefix sum",
            "case work"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4681,
          "problem_letter": "L",
          "problem_id": 35365,
          "problem_name": "Tree Racing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4681,
          "problem_letter": "M",
          "problem_id": 35366,
          "problem_name": "Much Room for Mushrooms",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4682,
      "contest_name": "Division 2",
      "contest_full_name": "2025 South Central USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > South Central USA Regional > 2025 South Central USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4682,
          "problem_letter": "A",
          "problem_id": 35367,
          "problem_name": "Snakey String",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "B",
          "problem_id": 35355,
          "problem_name": "Blind Bottles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "C",
          "problem_id": 35356,
          "problem_name": "One Way Only",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "D",
          "problem_id": 35357,
          "problem_name": "GUID Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "hashing",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "hashing",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "E",
          "problem_id": 35358,
          "problem_name": "Photo Encoding",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "F",
          "problem_id": 35368,
          "problem_name": "Breakout",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "G",
          "problem_id": 35369,
          "problem_name": "Shinjuku Station",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "H",
          "problem_id": 35370,
          "problem_name": "Memories of Passport Control",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "I",
          "problem_id": 35371,
          "problem_name": "Inazuma Cube Device",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "J",
          "problem_id": 35363,
          "problem_name": "Game of Nines",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "K",
          "problem_id": 35364,
          "problem_name": "Swap for Palindrome",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "prefix sum",
            "case work"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "L",
          "problem_id": 35372,
          "problem_name": "Moonlit Time Machine",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4682,
          "problem_letter": "M",
          "problem_id": 35366,
          "problem_name": "Much Room for Mushrooms",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4683,
      "contest_name": "Division 1",
      "contest_full_name": "2025 Mid-Atlantic USA Regional Contest Division 1",
      "contest_year": 1,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2025 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4683,
          "problem_letter": "A",
          "problem_id": 35354,
          "problem_name": "Orchard Fence",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4683,
          "problem_letter": "B",
          "problem_id": 35355,
          "problem_name": "Blind Bottles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "C",
          "problem_id": 35356,
          "problem_name": "One Way Only",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "D",
          "problem_id": 35357,
          "problem_name": "GUID Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "hashing",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "hashing",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "E",
          "problem_id": 35358,
          "problem_name": "Photo Encoding",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "F",
          "problem_id": 35359,
          "problem_name": "Meeting Free Fridays",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "G",
          "problem_id": 35360,
          "problem_name": "Galaxy Governance",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4683,
          "problem_letter": "H",
          "problem_id": 35361,
          "problem_name": "Rows of Stars",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "implementation",
            "prefix sum",
            "sliding window"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum",
            "sliding_window"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "sliding_window",
              "name": "sliding window",
              "boj_tag_id": 68
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "I",
          "problem_id": 35362,
          "problem_name": "Manhattan Interference",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4683,
          "problem_letter": "J",
          "problem_id": 35363,
          "problem_name": "Game of Nines",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "K",
          "problem_id": 35364,
          "problem_name": "Swap for Palindrome",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "prefix sum",
            "case work"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4683,
          "problem_letter": "L",
          "problem_id": 35365,
          "problem_name": "Tree Racing",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4683,
          "problem_letter": "M",
          "problem_id": 35366,
          "problem_name": "Much Room for Mushrooms",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4684,
      "contest_name": "Division 2",
      "contest_full_name": "2025 Mid-Atlantic USA Regional Contest Division 2",
      "contest_year": 2,
      "contest_path": "ICPC > Regionals > North America > Mid-Atlantic Regional > 2025 Mid-Atlantic USA Regional Contest",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4684,
          "problem_letter": "A",
          "problem_id": 35367,
          "problem_name": "Snakey String",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "B",
          "problem_id": 35355,
          "problem_name": "Blind Bottles",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "C",
          "problem_id": 35356,
          "problem_name": "One Way Only",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "D",
          "problem_id": 35357,
          "problem_name": "GUID Generator",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "data structures",
            "graph theory",
            "graph traversal",
            "tree",
            "hashing",
            "trie"
          ],
          "tag_keys": [
            "data_structures",
            "graphs",
            "graph_traversal",
            "trees",
            "hashing",
            "trie"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "graph_traversal",
              "name": "graph traversal",
              "boj_tag_id": 11
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            },
            {
              "key": "trie",
              "name": "trie",
              "boj_tag_id": 79
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "E",
          "problem_id": 35358,
          "problem_name": "Photo Encoding",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "greedy",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "F",
          "problem_id": 35368,
          "problem_name": "Breakout",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "implementation"
          ],
          "tag_keys": [
            "implementation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "G",
          "problem_id": 35369,
          "problem_name": "Shinjuku Station",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "H",
          "problem_id": 35370,
          "problem_name": "Memories of Passport Control",
          "problem_difficulty": "Bronze IV",
          "difficulty_level": 2,
          "tags": [
            "mathematics",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "I",
          "problem_id": 35371,
          "problem_name": "Inazuma Cube Device",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "J",
          "problem_id": 35363,
          "problem_name": "Game of Nines",
          "problem_difficulty": "Silver II",
          "difficulty_level": 9,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "K",
          "problem_id": 35364,
          "problem_name": "Swap for Palindrome",
          "problem_difficulty": "Gold II",
          "difficulty_level": 14,
          "tags": [
            "string",
            "prefix sum",
            "case work"
          ],
          "tag_keys": [
            "string",
            "prefix_sum",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "L",
          "problem_id": 35372,
          "problem_name": "Moonlit Time Machine",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "mathematics",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "bruteforcing",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4684,
          "problem_letter": "M",
          "problem_id": 35366,
          "problem_name": "Much Room for Mushrooms",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "constructive",
            "arithmetic",
            "case work"
          ],
          "tag_keys": [
            "math",
            "constructive",
            "arithmetic",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4685,
      "contest_name": "2025 East Central NA Regional Contest",
      "contest_full_name": "2025 East Central NA Regional Contest",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > North America > East Central North America Regional",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4685,
          "problem_letter": "A",
          "problem_id": 35373,
          "problem_name": "A Little Leftover Pizza",
          "problem_difficulty": "Bronze III",
          "difficulty_level": 3,
          "tags": [
            "mathematics",
            "implementation",
            "arithmetic"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "arithmetic"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "arithmetic",
              "name": "arithmetic",
              "boj_tag_id": 121
            }
          ]
        },
        {
          "contest_id": 4685,
          "problem_letter": "B",
          "problem_id": 35374,
          "problem_name": "Andor Strikes Again",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "implementation",
            "dynamic programming",
            "tree",
            "dynamic programming on trees"
          ],
          "tag_keys": [
            "implementation",
            "dp",
            "trees",
            "dp_tree"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "dp_tree",
              "name": "dynamic programming on trees",
              "boj_tag_id": 92
            }
          ]
        },
        {
          "contest_id": 4685,
          "problem_letter": "C",
          "problem_id": 35375,
          "problem_name": "AROD",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4685,
          "problem_letter": "D",
          "problem_id": 35376,
          "problem_name": "But I Want to Win",
          "problem_difficulty": "Bronze I",
          "difficulty_level": 5,
          "tags": [
            "implementation",
            "greedy",
            "sorting",
            "simulation"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "sorting",
            "simulation"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "simulation",
              "name": "simulation",
              "boj_tag_id": 141
            }
          ]
        },
        {
          "contest_id": 4685,
          "problem_letter": "E",
          "problem_id": 35377,
          "problem_name": "Chess Solitaire",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4685,
          "problem_letter": "F",
          "problem_id": 35378,
          "problem_name": "Fractional Sequence",
          "problem_difficulty": "Silver III",
          "difficulty_level": 8,
          "tags": [
            "mathematics",
            "bruteforcing",
            "number theory",
            "euclidean algorithm"
          ],
          "tag_keys": [
            "math",
            "bruteforcing",
            "number_theory",
            "euclidean"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "euclidean",
              "name": "euclidean algorithm",
              "boj_tag_id": 26
            }
          ]
        },
        {
          "contest_id": 4685,
          "problem_letter": "G",
          "problem_id": 35379,
          "problem_name": "How Many Balls?",
          "problem_difficulty": "Gold V",
          "difficulty_level": 11,
          "tags": [
            "mathematics",
            "bruteforcing"
          ],
          "tag_keys": [
            "math",
            "bruteforcing"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            }
          ]
        },
        {
          "contest_id": 4685,
          "problem_letter": "H",
          "problem_id": 35380,
          "problem_name": "Move It, Slowpoke!",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4685,
          "problem_letter": "I",
          "problem_id": 35381,
          "problem_name": "Number Pyramid",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4685,
          "problem_letter": "J",
          "problem_id": 35382,
          "problem_name": "Polyomino Tiling",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4685,
          "problem_letter": "K",
          "problem_id": 35383,
          "problem_name": "Triptych",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "implementation",
            "dynamic programming",
            "combinatorics",
            "case work",
            "parity"
          ],
          "tag_keys": [
            "math",
            "implementation",
            "dp",
            "combinatorics",
            "case_work",
            "parity"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "parity",
              "name": "parity",
              "boj_tag_id": 230
            }
          ]
        },
        {
          "contest_id": 4685,
          "problem_letter": "L",
          "problem_id": 35384,
          "problem_name": "Valley Gulls",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        }
      ]
    },
    {
      "contest_id": 4686,
      "contest_name": "CTU Open Contest 2025",
      "contest_full_name": "CTU Open Contest 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Europe > Central European Regional Contest > CTU Open Contest",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4686,
          "problem_letter": "A",
          "problem_id": 35385,
          "problem_name": "Archery",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "graph theory"
          ],
          "tag_keys": [
            "graphs"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            }
          ]
        },
        {
          "contest_id": 4686,
          "problem_letter": "B",
          "problem_id": 35386,
          "problem_name": "Book Burning",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4686,
          "problem_letter": "C",
          "problem_id": 35387,
          "problem_name": "Constantine of Thessaloniki",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4686,
          "problem_letter": "D",
          "problem_id": 35388,
          "problem_name": "Ducks",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "combinatorics",
            "exponentiation by squaring",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "math",
            "combinatorics",
            "exponentiation_by_squaring",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            },
            {
              "key": "exponentiation_by_squaring",
              "name": "exponentiation by squaring",
              "boj_tag_id": 39
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        },
        {
          "contest_id": 4686,
          "problem_letter": "E",
          "problem_id": 35389,
          "problem_name": "Emigrants",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4686,
          "problem_letter": "G",
          "problem_id": 35390,
          "problem_name": "Grooves",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4686,
          "problem_letter": "H",
          "problem_id": 35391,
          "problem_name": "Hussites",
          "problem_difficulty": "Gold I",
          "difficulty_level": 15,
          "tags": [
            "mathematics",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4686,
          "problem_letter": "J",
          "problem_id": 35392,
          "problem_name": "JJ the Almighty",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4686,
          "problem_letter": "M",
          "problem_id": 35393,
          "problem_name": "Meetings",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "set / map",
            "sweeping",
            "set / map by trees",
            "offline queries",
            "persistent segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "set",
            "sweeping",
            "tree_set",
            "offline_queries",
            "pst"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "set",
              "name": "set / map",
              "boj_tag_id": 225
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "tree_set",
              "name": "set / map by trees",
              "boj_tag_id": 74
            },
            {
              "key": "offline_queries",
              "name": "offline queries",
              "boj_tag_id": 123
            },
            {
              "key": "pst",
              "name": "persistent segment tree",
              "boj_tag_id": 55
            }
          ]
        },
        {
          "contest_id": 4686,
          "problem_letter": "O",
          "problem_id": 35394,
          "problem_name": "Ornithology",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [
            "sorting",
            "ad-hoc"
          ],
          "tag_keys": [
            "sorting",
            "ad_hoc"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            }
          ]
        },
        {
          "contest_id": 4686,
          "problem_letter": "S",
          "problem_id": 35395,
          "problem_name": "Snow",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "implementation",
            "prefix sum"
          ],
          "tag_keys": [
            "implementation",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4686,
          "problem_letter": "T",
          "problem_id": 35396,
          "problem_name": "Theatre",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "graph theory",
            "backtracking",
            "inclusion and exclusion"
          ],
          "tag_keys": [
            "graphs",
            "backtracking",
            "inclusion_and_exclusion"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "backtracking",
              "name": "backtracking",
              "boj_tag_id": 5
            },
            {
              "key": "inclusion_and_exclusion",
              "name": "inclusion and exclusion",
              "boj_tag_id": 38
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4687,
      "contest_name": "Latin America Regional Contests 2025",
      "contest_full_name": "Latin America Regional Contests 2025",
      "contest_year": 2025,
      "contest_path": "ICPC > Regionals > Latin America > Latin America Regional Contests",
      "problem_count": 12,
      "problems": [
        {
          "contest_id": 4687,
          "problem_letter": "A",
          "problem_id": 35397,
          "problem_name": "Apple Pie",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "graph theory",
            "case work",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "case_work",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "B",
          "problem_id": 35398,
          "problem_name": "Balanced Balloons",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "mathematics",
            "dynamic programming",
            "combinatorics"
          ],
          "tag_keys": [
            "math",
            "dp",
            "combinatorics"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "combinatorics",
              "name": "combinatorics",
              "boj_tag_id": 6
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "C",
          "problem_id": 35399,
          "problem_name": "Clean Streets",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree"
          ],
          "tag_keys": [
            "data_structures",
            "segtree"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "D",
          "problem_id": 35400,
          "problem_name": "Displaying Decimals",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4687,
          "problem_letter": "E",
          "problem_id": 35401,
          "problem_name": "Emergency Rations",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "data structures",
            "segment tree",
            "segment tree with lazy propagation",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "lazyprop",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "F",
          "problem_id": 35402,
          "problem_name": "Fuzzy Factorization",
          "problem_difficulty": "Gold IV",
          "difficulty_level": 12,
          "tags": [
            "mathematics",
            "ad-hoc",
            "number theory",
            "constructive",
            "prime factorization"
          ],
          "tag_keys": [
            "math",
            "ad_hoc",
            "number_theory",
            "constructive",
            "prime_factorization"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "number_theory",
              "name": "number theory",
              "boj_tag_id": 95
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            },
            {
              "key": "prime_factorization",
              "name": "prime factorization",
              "boj_tag_id": 242
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "G",
          "problem_id": 35403,
          "problem_name": "Gridoland Power Gauge",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "binary search",
            "shortest path",
            "dijkstra's",
            "maximum flow",
            "ternary search",
            "max-flow min-cut theorem",
            "planar graph",
            "dual graph"
          ],
          "tag_keys": [
            "graphs",
            "binary_search",
            "shortest_path",
            "dijkstra",
            "flow",
            "ternary_search",
            "mfmc",
            "planar_graph",
            "dual_graph"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "shortest_path",
              "name": "shortest path",
              "boj_tag_id": 215
            },
            {
              "key": "dijkstra",
              "name": "dijkstra's",
              "boj_tag_id": 22
            },
            {
              "key": "flow",
              "name": "maximum flow",
              "boj_tag_id": 45
            },
            {
              "key": "ternary_search",
              "name": "ternary search",
              "boj_tag_id": 101
            },
            {
              "key": "mfmc",
              "name": "max-flow min-cut theorem",
              "boj_tag_id": 167
            },
            {
              "key": "planar_graph",
              "name": "planar graph",
              "boj_tag_id": 168
            },
            {
              "key": "dual_graph",
              "name": "dual graph",
              "boj_tag_id": 181
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "H",
          "problem_id": 35404,
          "problem_name": "Harder Horizons",
          "problem_difficulty": "Silver IV",
          "difficulty_level": 7,
          "tags": [
            "greedy"
          ],
          "tag_keys": [
            "greedy"
          ],
          "tag_details": [
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "I",
          "problem_id": 35405,
          "problem_name": "Infiltration Route",
          "problem_difficulty": "Platinum I",
          "difficulty_level": 20,
          "tags": [
            "dynamic programming"
          ],
          "tag_keys": [
            "dp"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "J",
          "problem_id": 35406,
          "problem_name": "Judgmental Crowd",
          "problem_difficulty": "Bronze II",
          "difficulty_level": 4,
          "tags": [
            "implementation",
            "string"
          ],
          "tag_keys": [
            "implementation",
            "string"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "string",
              "name": "string",
              "boj_tag_id": 158
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "K",
          "problem_id": 35407,
          "problem_name": "Kings Conquest",
          "problem_difficulty": "Platinum V",
          "difficulty_level": 16,
          "tags": [
            "data structures",
            "segment tree",
            "case work"
          ],
          "tag_keys": [
            "data_structures",
            "segtree",
            "case_work"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "case_work",
              "name": "case work",
              "boj_tag_id": 137
            }
          ]
        },
        {
          "contest_id": 4687,
          "problem_letter": "L",
          "problem_id": 35408,
          "problem_name": "Lonely Creatures",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "data structures",
            "geometry",
            "segment tree",
            "value / coordinate compression"
          ],
          "tag_keys": [
            "data_structures",
            "geometry",
            "segtree",
            "coordinate_compression"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "coordinate_compression",
              "name": "value / coordinate compression",
              "boj_tag_id": 161
            }
          ]
        }
      ]
    },
    {
      "contest_id": 4690,
      "contest_name": "North America Championship 2026",
      "contest_full_name": "North America Championship 2026",
      "contest_year": 2026,
      "contest_path": "ICPC > Regionals > North America > North America Championship",
      "problem_count": 13,
      "problems": [
        {
          "contest_id": 4690,
          "problem_letter": "A",
          "problem_id": 35440,
          "problem_name": "Acorn Quarrels",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "tree",
            "binary search",
            "constructive"
          ],
          "tag_keys": [
            "trees",
            "binary_search",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "binary_search",
              "name": "binary search",
              "boj_tag_id": 12
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "B",
          "problem_id": 35441,
          "problem_name": "Boss Rush",
          "problem_difficulty": "Ruby V",
          "difficulty_level": 26,
          "tags": [
            "graph theory",
            "minimum spanning tree",
            "eulerian path / circuit"
          ],
          "tag_keys": [
            "graphs",
            "mst",
            "eulerian_path"
          ],
          "tag_details": [
            {
              "key": "graphs",
              "name": "graph theory",
              "boj_tag_id": 7
            },
            {
              "key": "mst",
              "name": "minimum spanning tree",
              "boj_tag_id": 49
            },
            {
              "key": "eulerian_path",
              "name": "eulerian path / circuit",
              "boj_tag_id": 93
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "C",
          "problem_id": 35442,
          "problem_name": "Cable Pruning",
          "problem_difficulty": "Diamond V",
          "difficulty_level": 21,
          "tags": [
            "data structures",
            "tree",
            "segment tree",
            "sweeping",
            "segment tree with lazy propagation",
            "hashing"
          ],
          "tag_keys": [
            "data_structures",
            "trees",
            "segtree",
            "sweeping",
            "lazyprop",
            "hashing"
          ],
          "tag_details": [
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "trees",
              "name": "tree",
              "boj_tag_id": 120
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "sweeping",
              "name": "sweeping",
              "boj_tag_id": 106
            },
            {
              "key": "lazyprop",
              "name": "segment tree with lazy propagation",
              "boj_tag_id": 66
            },
            {
              "key": "hashing",
              "name": "hashing",
              "boj_tag_id": 8
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "D",
          "problem_id": 35443,
          "problem_name": "Draw Your Deck",
          "problem_difficulty": "Platinum II",
          "difficulty_level": 19,
          "tags": [
            "mathematics",
            "dynamic programming",
            "probability theory"
          ],
          "tag_keys": [
            "math",
            "dp",
            "probability"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "probability",
              "name": "probability theory",
              "boj_tag_id": 177
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "E",
          "problem_id": 35444,
          "problem_name": "Evil Judges",
          "problem_difficulty": "Silver I",
          "difficulty_level": 10,
          "tags": [
            "sorting",
            "prefix sum"
          ],
          "tag_keys": [
            "sorting",
            "prefix_sum"
          ],
          "tag_details": [
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "prefix_sum",
              "name": "prefix sum",
              "boj_tag_id": 139
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "F",
          "problem_id": 35445,
          "problem_name": "Friend Meetup",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "mathematics",
            "geometry",
            "parametric search"
          ],
          "tag_keys": [
            "math",
            "geometry",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "G",
          "problem_id": 35446,
          "problem_name": "Gemstone Dowsing",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "mathematics",
            "sorting",
            "geometry"
          ],
          "tag_keys": [
            "math",
            "sorting",
            "geometry"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "H",
          "problem_id": 35447,
          "problem_name": "Heist of the Century",
          "problem_difficulty": "Platinum IV",
          "difficulty_level": 17,
          "tags": [
            "ad-hoc",
            "constructive"
          ],
          "tag_keys": [
            "ad_hoc",
            "constructive"
          ],
          "tag_details": [
            {
              "key": "ad_hoc",
              "name": "ad-hoc",
              "boj_tag_id": 109
            },
            {
              "key": "constructive",
              "name": "constructive",
              "boj_tag_id": 128
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "I",
          "problem_id": 35448,
          "problem_name": "I Don't Miss Pennies",
          "problem_difficulty": "Gold III",
          "difficulty_level": 13,
          "tags": [
            "mathematics",
            "greedy"
          ],
          "tag_keys": [
            "math",
            "greedy"
          ],
          "tag_details": [
            {
              "key": "math",
              "name": "mathematics",
              "boj_tag_id": 124
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "J",
          "problem_id": 35449,
          "problem_name": "Jelly Fusion",
          "problem_difficulty": "Diamond IV",
          "difficulty_level": 22,
          "tags": [
            "dynamic programming",
            "data structures",
            "segment tree",
            "convex hull trick",
            "li–chao tree"
          ],
          "tag_keys": [
            "dp",
            "data_structures",
            "segtree",
            "cht",
            "li_chao_tree"
          ],
          "tag_details": [
            {
              "key": "dp",
              "name": "dynamic programming",
              "boj_tag_id": 25
            },
            {
              "key": "data_structures",
              "name": "data structures",
              "boj_tag_id": 175
            },
            {
              "key": "segtree",
              "name": "segment tree",
              "boj_tag_id": 65
            },
            {
              "key": "cht",
              "name": "convex hull trick",
              "boj_tag_id": 89
            },
            {
              "key": "li_chao_tree",
              "name": "li–chao tree",
              "boj_tag_id": 227
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "K",
          "problem_id": 35450,
          "problem_name": "Kindergarten Revisited",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "bruteforcing",
            "geometry",
            "divide and conquer",
            "line segment intersection check"
          ],
          "tag_keys": [
            "implementation",
            "bruteforcing",
            "geometry",
            "divide_and_conquer",
            "line_intersection"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "bruteforcing",
              "name": "bruteforcing",
              "boj_tag_id": 125
            },
            {
              "key": "geometry",
              "name": "geometry",
              "boj_tag_id": 100
            },
            {
              "key": "divide_and_conquer",
              "name": "divide and conquer",
              "boj_tag_id": 24
            },
            {
              "key": "line_intersection",
              "name": "line segment intersection check",
              "boj_tag_id": 42
            }
          ]
        },
        {
          "contest_id": 4690,
          "problem_letter": "L",
          "problem_id": 35451,
          "problem_name": "Leaking Santa's Secrets",
          "problem_difficulty": "unranked",
          "difficulty_level": 0,
          "tags": [],
          "tag_keys": [],
          "tag_details": []
        },
        {
          "contest_id": 4690,
          "problem_letter": "M",
          "problem_id": 35452,
          "problem_name": "Maki Conveyor Belt",
          "problem_difficulty": "Platinum III",
          "difficulty_level": 18,
          "tags": [
            "implementation",
            "greedy",
            "sorting",
            "parametric search"
          ],
          "tag_keys": [
            "implementation",
            "greedy",
            "sorting",
            "parametric_search"
          ],
          "tag_details": [
            {
              "key": "implementation",
              "name": "implementation",
              "boj_tag_id": 102
            },
            {
              "key": "greedy",
              "name": "greedy",
              "boj_tag_id": 33
            },
            {
              "key": "sorting",
              "name": "sorting",
              "boj_tag_id": 97
            },
            {
              "key": "parametric_search",
              "name": "parametric search",
              "boj_tag_id": 170
            }
          ]
        }
      ]
    }
  ],
  "problems": [
    {
      "contest_id": 1,
      "problem_letter": "A",
      "problem_id": 4203,
      "problem_name": "Asteroid Rangers",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "graph theory",
        "minimum spanning tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "mst",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "B",
      "problem_id": 4204,
      "problem_name": "Curvy Little Bottles",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "binary search",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "C",
      "problem_id": 4205,
      "problem_name": "버스기사 승재",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory",
        "bitmask",
        "shortest path",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "bitmask",
        "shortest_path",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "D",
      "problem_id": 4206,
      "problem_name": "피보나치 단어",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "dp",
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "E",
      "problem_id": 4207,
      "problem_name": "Infiltration",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "bruteforcing",
        "bitmask",
        "bit set"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "bitmask",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "F",
      "problem_id": 4208,
      "problem_name": "열쇠",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "case work"
      ],
      "tag_keys": [
        "dp",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "G",
      "problem_id": 4209,
      "problem_name": "Minimum Cost Flow",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bruteforcing",
        "dijkstra's",
        "graph theory",
        "implementation",
        "shortest path"
      ],
      "tag_keys": [
        "bruteforcing",
        "dijkstra",
        "graphs",
        "implementation",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "H",
      "problem_id": 4210,
      "problem_name": "로봇 청소기",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "implementation",
        "dynamic programming",
        "geometry",
        "simulation",
        "line segment intersection check"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "geometry",
        "simulation",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "I",
      "problem_id": 4211,
      "problem_name": "금고 회사",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "data structures",
        "segment tree",
        "binary search",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "segtree",
        "binary_search",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "J",
      "problem_id": 4212,
      "problem_name": "최단 비행 경로",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "implementation",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "sweeping",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "sweeping",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "K",
      "problem_id": 4213,
      "problem_name": "그릇 쌓기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1,
      "problem_letter": "L",
      "problem_id": 4214,
      "problem_name": "Takeover Wars",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "A",
      "problem_id": 4215,
      "problem_name": "비밀 프로젝트",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "greedy",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "B",
      "problem_id": 4216,
      "problem_name": "Afﬁne Mess",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "C",
      "problem_id": 4217,
      "problem_name": "신성 문자",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "D",
      "problem_id": 4218,
      "problem_name": "칩 설계",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "circulation",
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "circulation",
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "E",
      "problem_id": 4219,
      "problem_name": "커피 전문점",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "F",
      "problem_id": 4220,
      "problem_name": "Machine Works",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "G",
      "problem_id": 4221,
      "problem_name": "Magic Sticks",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "divide and conquer",
        "geometry",
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "binary_search",
        "divide_and_conquer",
        "geometry",
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "H",
      "problem_id": 4222,
      "problem_name": "Mining Your Own Business",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "articulation points and bridges",
        "biconnected component",
        "graph theory"
      ],
      "tag_keys": [
        "articulation",
        "bcc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "I",
      "problem_id": 4223,
      "problem_name": "Mummy Madness",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "J",
      "problem_id": 4224,
      "problem_name": "피라미드",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2,
      "problem_letter": "K",
      "problem_id": 4225,
      "problem_name": "쓰레기 슈트",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "A",
      "problem_id": 3943,
      "problem_name": "헤일스톤 수열",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "B",
      "problem_id": 3944,
      "problem_name": "나머지 계산",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "C",
      "problem_id": 3945,
      "problem_name": "Pen Counts",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "D",
      "problem_id": 3946,
      "problem_name": "랜덤 걷기",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "E",
      "problem_id": 3947,
      "problem_name": "폴하버의 삼각형",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "F",
      "problem_id": 3948,
      "problem_name": "홍준이의 친위대",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4,
      "problem_letter": "G",
      "problem_id": 3949,
      "problem_name": "Mad Veterinarian",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4,
      "problem_letter": "H",
      "problem_id": 3950,
      "problem_name": "Windmill Animation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4,
      "problem_letter": "I",
      "problem_id": 3951,
      "problem_name": "Push-To Telescope",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4,
      "problem_letter": "X",
      "problem_id": 3952,
      "problem_name": "Mystery",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "A",
      "problem_id": 2675,
      "problem_name": "문자열 반복",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "B",
      "problem_id": 2676,
      "problem_name": "라스칼 삼각형",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "C",
      "problem_id": 2677,
      "problem_name": "에드삭 만들기",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "D",
      "problem_id": 2678,
      "problem_name": "에드삭 데이터 디코딩하기",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "E",
      "problem_id": 2679,
      "problem_name": "맨체스터의 도로",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "F",
      "problem_id": 2680,
      "problem_name": "QR",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "G",
      "problem_id": 2681,
      "problem_name": "목장 주인 백승환의 선물",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "H",
      "problem_id": 2682,
      "problem_name": "최대 사이클 1",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "combinatorics",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 5,
      "problem_letter": "I",
      "problem_id": 2683,
      "problem_name": "황금 천장",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 6,
      "problem_letter": "A",
      "problem_id": 2684,
      "problem_name": "동전 게임",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "B",
      "problem_id": 2685,
      "problem_name": "님비합",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "C",
      "problem_id": 2686,
      "problem_name": "팩스",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "D",
      "problem_id": 2687,
      "problem_name": "팩스 받기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "E",
      "problem_id": 2688,
      "problem_name": "줄어들지 않아",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "F",
      "problem_id": 2689,
      "problem_name": "I²C",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "G",
      "problem_id": 2690,
      "problem_name": "옛날에는 조판을 어떻게 했을까?",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "parsing",
        "regular expression",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "regex",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "H",
      "problem_id": 2691,
      "problem_name": "UPC 바코드 읽기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "sorting",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "sorting",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 6,
      "problem_letter": "I",
      "problem_id": 2692,
      "problem_name": "쌍둥이 규현이와 승환이의 생일 케익",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "A",
      "problem_id": 2693,
      "problem_name": "N번째 큰 수",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "B",
      "problem_id": 2694,
      "problem_name": "합이 같은 구간",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "C",
      "problem_id": 2695,
      "problem_name": "공",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "D",
      "problem_id": 2696,
      "problem_name": "중앙값 구하기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "E",
      "problem_id": 2697,
      "problem_name": "다음수 구하기",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "F",
      "problem_id": 2698,
      "problem_name": "인접한 비트의 개수",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "G",
      "problem_id": 2699,
      "problem_name": "격자점 컨벡스헐",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "H",
      "problem_id": 2700,
      "problem_name": "볼록 격자 다각형의 내부점",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 7,
      "problem_letter": "I",
      "problem_id": 2701,
      "problem_name": "육각 퍼즐",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "A",
      "problem_id": 2702,
      "problem_name": "초6 수학",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "B",
      "problem_id": 2703,
      "problem_name": "Cryptoquote",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "C",
      "problem_id": 2704,
      "problem_name": "이진법 시계",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "D",
      "problem_id": 2705,
      "problem_name": "팰린드롬 파티션",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "recursion"
      ],
      "tag_keys": [
        "dp",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "E",
      "problem_id": 2706,
      "problem_name": "문자 보내기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "backtracking",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "backtracking",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "F",
      "problem_id": 2707,
      "problem_name": "노말 정렬",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "G",
      "problem_id": 2708,
      "problem_name": "폴리큐브의 겉넓이",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "H",
      "problem_id": 2709,
      "problem_name": "가장 작은 K",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "arbitrary precision / big integers",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arbitrary_precision",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 8,
      "problem_letter": "I",
      "problem_id": 2710,
      "problem_name": "삼각형 정원",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "geometry",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "A",
      "problem_id": 2711,
      "problem_name": "오타맨 고창영",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "B",
      "problem_id": 2712,
      "problem_name": "미국 스타일",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "C",
      "problem_id": 2713,
      "problem_name": "규현이의 사랑을 담은 문자메시지",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "D",
      "problem_id": 2714,
      "problem_name": "문자를 받은 승환이",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "E",
      "problem_id": 2715,
      "problem_name": "상범 마법 팬케이크 하우스",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "F",
      "problem_id": 2716,
      "problem_name": "원숭이 매달기",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "tree",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "G",
      "problem_id": 2717,
      "problem_name": "Model Rocket Height",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 9,
      "problem_letter": "H",
      "problem_id": 2718,
      "problem_name": "타일 채우기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 9,
      "problem_letter": "I",
      "problem_id": 2719,
      "problem_name": "공간 개념 테스트",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 10,
      "problem_letter": "A",
      "problem_id": 2720,
      "problem_name": "세탁소 사장 동혁",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "B",
      "problem_id": 2721,
      "problem_name": "삼각수의 합",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "C",
      "problem_id": 2722,
      "problem_name": "Shuffle’m Up",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "simulation",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "simulation",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "D",
      "problem_id": 2723,
      "problem_name": "눌러서 잠금 해제",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "E",
      "problem_id": 2724,
      "problem_name": "메시지 변환기",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "F",
      "problem_id": 2725,
      "problem_name": "보이는 점의 개수",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "prefix sum",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prefix_sum",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "G",
      "problem_id": 2726,
      "problem_name": "삼각 N-Queen",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "H",
      "problem_id": 2727,
      "problem_name": "2,3 거듭제곱의 합",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 10,
      "problem_letter": "I",
      "problem_id": 2728,
      "problem_name": "오늘은 마가리타 한 잔?",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "A",
      "problem_id": 2729,
      "problem_name": "이진수 덧셈",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "B",
      "problem_id": 2730,
      "problem_name": "오늘은 OS 숙제 제출일",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "C",
      "problem_id": 2731,
      "problem_name": "1379와 세제곱",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "D",
      "problem_id": 2732,
      "problem_name": "Kindergarten Graduation",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "E",
      "problem_id": 2733,
      "problem_name": "Brainf*ck",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "simulation",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "simulation",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "F",
      "problem_id": 2734,
      "problem_name": "드럼통 쌓기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 11,
      "problem_letter": "G",
      "problem_id": 2735,
      "problem_name": "No Fold’em Hold’em",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 11,
      "problem_letter": "H",
      "problem_id": 2736,
      "problem_name": "모형 로켓 발사",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 11,
      "problem_letter": "I",
      "problem_id": 2737,
      "problem_name": "연속 합",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "A",
      "problem_id": 2756,
      "problem_name": "다트",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "B",
      "problem_id": 2757,
      "problem_name": "엑셀",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "C",
      "problem_id": 2758,
      "problem_name": "로또",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "D",
      "problem_id": 2759,
      "problem_name": "팬케이크 뒤집기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "E",
      "problem_id": 2760,
      "problem_name": "마술사 현우",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "case work",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "F",
      "problem_id": 2761,
      "problem_name": "모형 로켓의 높이",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "G",
      "problem_id": 2762,
      "problem_name": "구역 채우기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "case work",
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "H",
      "problem_id": 2763,
      "problem_name": "Histology Assistant",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "graph theory",
        "greedy",
        "graph traversal",
        "ad-hoc",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "greedy",
        "graph_traversal",
        "ad_hoc",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 12,
      "problem_letter": "I",
      "problem_id": 2764,
      "problem_name": "마지막 사진 찍기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 13,
      "problem_letter": "A",
      "problem_id": 2765,
      "problem_name": "자전거 속도",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 13,
      "problem_letter": "B",
      "problem_id": 2766,
      "problem_name": "Candy Sharing Game",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 13,
      "problem_letter": "C",
      "problem_id": 2767,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 13,
      "problem_letter": "D",
      "problem_id": 2768,
      "problem_name": "세금 계산",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 13,
      "problem_letter": "E",
      "problem_id": 2769,
      "problem_name": "논리식 비교",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 13,
      "problem_letter": "F",
      "problem_id": 2770,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 13,
      "problem_letter": "G",
      "problem_id": 2771,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 13,
      "problem_letter": "H",
      "problem_id": 2772,
      "problem_name": "완전히 다양화된 수열",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "recursion",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "recursion",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 13,
      "problem_letter": "I",
      "problem_id": 2773,
      "problem_name": "바깥 삼각형의 중심",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "A",
      "problem_id": 3991,
      "problem_name": "한번 쏘면 멈출 수 없어",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "C",
      "problem_id": 3992,
      "problem_name": "Caravan Robbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "convex hull trick",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "cht",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "D",
      "problem_id": 3993,
      "problem_name": "Disjoint Regular Expressions",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "0-1 bfs",
        "breadth-first search",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "implementation",
        "parsing",
        "regular expression",
        "shortest path",
        "string"
      ],
      "tag_keys": [
        "0_1_bfs",
        "bfs",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "implementation",
        "parsing",
        "regex",
        "shortest_path",
        "string"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "E",
      "problem_id": 3994,
      "problem_name": "Exact Measurement",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "F",
      "problem_id": 3995,
      "problem_name": "스네이크 큐브",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "G",
      "problem_id": 3996,
      "problem_name": "위대한 사기꾼",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "H",
      "problem_id": 3997,
      "problem_name": "하이퍼드롬",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "set / map",
        "prefix sum",
        "bitmask",
        "parity"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "prefix_sum",
        "bitmask",
        "parity"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "I",
      "problem_id": 3998,
      "problem_name": "단백질 식별",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "J",
      "problem_id": 3999,
      "problem_name": "텔레점프",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "case work",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "K",
      "problem_id": 4000,
      "problem_name": "Kingdom Reunion",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [
        "implementation",
        "data structures",
        "geometry",
        "set / map",
        "case work",
        "sweeping",
        "set / map by trees",
        "line segment intersection check",
        "point in convex polygon check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "geometry",
        "set",
        "case_work",
        "sweeping",
        "tree_set",
        "line_intersection",
        "point_in_convex_polygon",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 14,
      "problem_letter": "L",
      "problem_id": 4001,
      "problem_name": "미노타우르스 미궁",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "graph traversal",
        "binary search",
        "prefix sum",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "binary_search",
        "prefix_sum",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "A",
      "problem_id": 3495,
      "problem_name": "아스키 도형",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "geometry",
        "parity"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "parity"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "B",
      "problem_id": 3496,
      "problem_name": "Binary Encoding",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "C",
      "problem_id": 3497,
      "problem_name": "Caption",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "D",
      "problem_id": 3498,
      "problem_name": "사전의 크기",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "combinatorics",
        "data structures",
        "mathematics",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "combinatorics",
        "data_structures",
        "math",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "E",
      "problem_id": 3499,
      "problem_name": "미토콘드리아 이브",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "F",
      "problem_id": 3500,
      "problem_name": "Flights",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 15,
      "problem_letter": "G",
      "problem_id": 3501,
      "problem_name": "최대공약수 맞추기 게임",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "greedy",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "H",
      "problem_id": 3502,
      "problem_name": "Huzita Axiom 6",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 15,
      "problem_letter": "I",
      "problem_id": 3503,
      "problem_name": "Interactive Permutation Guessing",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "ad-hoc"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "J",
      "problem_id": 3504,
      "problem_name": "Journey",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 15,
      "problem_letter": "K",
      "problem_id": 3505,
      "problem_name": "Kingdom Roadmap",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 15,
      "problem_letter": "L",
      "problem_id": 3506,
      "problem_name": "Lanes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 16,
      "problem_letter": "A",
      "problem_id": 3518,
      "problem_name": "공백왕 빈-칸",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "B",
      "problem_id": 3519,
      "problem_name": "계산왕 연산군",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "exponentiation by squaring",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "exponentiation_by_squaring",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "C",
      "problem_id": 3520,
      "problem_name": "Cactus Revolution",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "cactus",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "greedy"
      ],
      "tag_keys": [
        "cactus",
        "dfs",
        "graphs",
        "graph_traversal",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "D",
      "problem_id": 3521,
      "problem_name": "Dome of Circus",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "E",
      "problem_id": 3522,
      "problem_name": "Evacuation Plan",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "F",
      "problem_id": 3523,
      "problem_name": "Factorial Simplification",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "G",
      "problem_id": 3524,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 16,
      "problem_letter": "H",
      "problem_id": 3525,
      "problem_name": "Hands of Poker",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "implementation",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "I",
      "problem_id": 3526,
      "problem_name": "이상적인 경로",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "J",
      "problem_id": 3527,
      "problem_name": "Jungle Outpost",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "binary search",
        "parametric search",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "parametric_search",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 16,
      "problem_letter": "K",
      "problem_id": 3528,
      "problem_name": "K-Graph Oddity",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "A",
      "problem_id": 3540,
      "problem_name": "Asteroids",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 17,
      "problem_letter": "B",
      "problem_id": 3541,
      "problem_name": "상근타워",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "C",
      "problem_id": 20409,
      "problem_name": "Central Element",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "D",
      "problem_id": 3542,
      "problem_name": "Database",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "E",
      "problem_id": 3543,
      "problem_name": "Exclusive Access 2",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "graph theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "F",
      "problem_id": 3544,
      "problem_name": "Funny Language",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "string",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "string",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "G",
      "problem_id": 3545,
      "problem_name": "Garbling Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "arbitrary precision / big integers",
        "data structures",
        "sparse table"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "data_structures",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "H",
      "problem_id": 3546,
      "problem_name": "Headshot",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "I",
      "problem_id": 3547,
      "problem_name": "Inspection",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "J",
      "problem_id": 3548,
      "problem_name": "Java Certification",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 17,
      "problem_letter": "K",
      "problem_id": 3549,
      "problem_name": "K-equivalence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 18,
      "problem_letter": "A",
      "problem_id": 3561,
      "problem_name": "Aerodynamics",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "convex hull",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "B",
      "problem_id": 20408,
      "problem_name": "Blind Walk",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "C",
      "problem_id": 3562,
      "problem_name": "Clock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 18,
      "problem_letter": "D",
      "problem_id": 1220,
      "problem_name": "MEGACITY",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "value / coordinate compression",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "coordinate_compression",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "E",
      "problem_id": 3564,
      "problem_name": "Exclusive Access",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "F",
      "problem_id": 3565,
      "problem_name": "피보나치 진법",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "G",
      "problem_id": 3566,
      "problem_name": "대형 스크린",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "H",
      "problem_id": 3567,
      "problem_name": "Hell on the Markets",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "I",
      "problem_id": 3568,
      "problem_name": "iSharp",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 18,
      "problem_letter": "J",
      "problem_id": 3569,
      "problem_name": "Javanese Cryptoanalysis",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 18,
      "problem_letter": "K",
      "problem_id": 3570,
      "problem_name": "KINA Is Not Abbreviation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "A",
      "problem_id": 3582,
      "problem_name": "Ants",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "geometry",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "B",
      "problem_id": 3583,
      "problem_name": "Building for UN",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "C",
      "problem_id": 1180,
      "problem_name": "선인장의 지름",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "data structures",
        "graph theory",
        "tree",
        "dynamic programming on trees",
        "deque",
        "biconnected component",
        "cactus"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "graphs",
        "trees",
        "dp_tree",
        "deque",
        "bcc",
        "cactus"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "D",
      "problem_id": 3585,
      "problem_name": "Diver",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 19,
      "problem_letter": "E",
      "problem_id": 3586,
      "problem_name": "방정식",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "string",
        "case work",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "string",
        "case_work",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "F",
      "problem_id": 3587,
      "problem_name": "Fund Management",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "G",
      "problem_id": 1203,
      "problem_name": "게임",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "H",
      "problem_id": 1155,
      "problem_name": "변형 하노이",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "ad-hoc"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "I",
      "problem_id": 3590,
      "problem_name": "i18n",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "case work",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "J",
      "problem_id": 3591,
      "problem_name": "Japanese Writing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 19,
      "problem_letter": "K",
      "problem_id": 3592,
      "problem_name": "Kingdom Partitioning",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 19,
      "problem_letter": "L",
      "problem_id": 3593,
      "problem_name": "DFA",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "hashing",
        "set / map by hashing",
        "string",
        "tree",
        "trie",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hashing",
        "hash_set",
        "string",
        "trees",
        "trie",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "A",
      "problem_id": 1597,
      "problem_name": "아스키 아트",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "calculus",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "calculus",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "B",
      "problem_id": 3605,
      "problem_name": "Billing Tables",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "C",
      "problem_id": 3606,
      "problem_name": "Cellular Automaton",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "exponentiation by squaring",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "D",
      "problem_id": 3607,
      "problem_name": "Driving Directions",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 20,
      "problem_letter": "E",
      "problem_id": 3608,
      "problem_name": "Exchange",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 20,
      "problem_letter": "F",
      "problem_id": 3609,
      "problem_name": "Fool’s Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 20,
      "problem_letter": "G",
      "problem_id": 3610,
      "problem_name": "Graveyard",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "H",
      "problem_id": 3611,
      "problem_name": "팀의 난이도",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "binary search",
        "parametric search",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "parametric_search",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "I",
      "problem_id": 3612,
      "problem_name": "Interconnect",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "linearity of expectation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "linearity_of_expectation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "J",
      "problem_id": 3613,
      "problem_name": "Java vs C++",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 20,
      "problem_letter": "K",
      "problem_id": 1195,
      "problem_name": "킥다운",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "A",
      "problem_id": 2100,
      "problem_name": "감시 로봇",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "sorting",
        "geometry",
        "angle sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "geometry",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "B",
      "problem_id": 2093,
      "problem_name": "괄호 제거",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "C",
      "problem_id": 2111,
      "problem_name": "선인장",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "arbitrary precision / big integers",
        "biconnected component",
        "cactus"
      ],
      "tag_keys": [
        "graphs",
        "arbitrary_precision",
        "bcc",
        "cactus"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "D",
      "problem_id": 2066,
      "problem_name": "카드놀이",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "E",
      "problem_id": 2088,
      "problem_name": "트리의 개수",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "F",
      "problem_id": 1989,
      "problem_name": "부분배열 고르기 2",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "prefix sum",
        "divide and conquer",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "prefix_sum",
        "divide_and_conquer",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "F (수정)",
      "problem_id": 2104,
      "problem_name": "부분배열 고르기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "G",
      "problem_id": 3626,
      "problem_name": "Guards",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "H",
      "problem_id": 3627,
      "problem_name": "Hardwood Cutting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 21,
      "problem_letter": "I",
      "problem_id": 2064,
      "problem_name": "IP 주소",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "J",
      "problem_id": 1215,
      "problem_name": "잘못 작성한 요세푸스 코드",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 21,
      "problem_letter": "K",
      "problem_id": 3628,
      "problem_name": "Knockdown",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 22,
      "problem_letter": "A",
      "problem_id": 11421,
      "problem_name": "Dr Who’s Banquet",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "greedy",
        "sorting",
        "constructive",
        "degree sequence"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "sorting",
        "constructive",
        "degree_sequence"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "degree_sequence",
          "name": "degree sequence",
          "boj_tag_id": 200
        }
      ]
    },
    {
      "contest_id": 22,
      "problem_letter": "B",
      "problem_id": 11422,
      "problem_name": "Bitris",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "data structures",
        "greedy",
        "mathematics",
        "segment tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "data_structures",
        "greedy",
        "math",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 22,
      "problem_letter": "C",
      "problem_id": 11423,
      "problem_name": "Primes",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "binary search",
        "prefix sum",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "binary_search",
        "prefix_sum",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 22,
      "problem_letter": "D",
      "problem_id": 11424,
      "problem_name": "Longest Prefix Match",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 22,
      "problem_letter": "E",
      "problem_id": 11425,
      "problem_name": "Stripe",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 22,
      "problem_letter": "F",
      "problem_id": 11426,
      "problem_name": "Maximal Number of Divisors",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 22,
      "problem_letter": "G",
      "problem_id": 11427,
      "problem_name": "Miraculous Drug",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 22,
      "problem_letter": "H",
      "problem_id": 11428,
      "problem_name": "Softville",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 22,
      "problem_letter": "I",
      "problem_id": 11429,
      "problem_name": "Tree",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 22,
      "problem_letter": "J",
      "problem_id": 11430,
      "problem_name": "VAN DINSKY",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "A",
      "problem_id": 3715,
      "problem_name": "Secret — MAX",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "B",
      "problem_id": 3716,
      "problem_name": "Safety Grade",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "C",
      "problem_id": 3717,
      "problem_name": "Search by template",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "D",
      "problem_id": 3718,
      "problem_name": "Roots Intervals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "E",
      "problem_id": 3719,
      "problem_name": "팰린드롬 날짜",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "greedy",
        "bruteforcing",
        "ad-hoc",
        "case work",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "bruteforcing",
        "ad_hoc",
        "case_work",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 23,
      "problem_letter": "G",
      "problem_id": 3720,
      "problem_name": "Choosing a camera",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "H",
      "problem_id": 3721,
      "problem_name": "Road Planner",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 23,
      "problem_letter": "I",
      "problem_id": 3722,
      "problem_name": "Term Generator",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "string",
        "parsing",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 23,
      "problem_letter": "J",
      "problem_id": 3723,
      "problem_name": "Painting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 24,
      "problem_letter": "A",
      "problem_id": 3724,
      "problem_name": "표",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "bruteforcing",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "bruteforcing",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 24,
      "problem_letter": "B",
      "problem_id": 3725,
      "problem_name": "Calculator",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 24,
      "problem_letter": "C",
      "problem_id": 3726,
      "problem_name": "가장 큰 원",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "sweeping",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "sweeping",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 24,
      "problem_letter": "D",
      "problem_id": 3727,
      "problem_name": "프로그래밍 대회",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 24,
      "problem_letter": "E",
      "problem_id": 3728,
      "problem_name": "Control Points",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 24,
      "problem_letter": "F",
      "problem_id": 3729,
      "problem_name": "Gamers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 24,
      "problem_letter": "G",
      "problem_id": 3730,
      "problem_name": "Cosmic Station",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 24,
      "problem_letter": "H",
      "problem_id": 3731,
      "problem_name": "Game",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 24,
      "problem_letter": "I",
      "problem_id": 3732,
      "problem_name": "Proof Generator",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "parsing",
        "recursion",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "recursion",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 24,
      "problem_letter": "J",
      "problem_id": 3733,
      "problem_name": "Shares",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 25,
      "problem_letter": "A",
      "problem_id": 3734,
      "problem_name": "RSA 인수 분해",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "bruteforcing",
        "ad-hoc",
        "number theory",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "ad_hoc",
        "number_theory",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 25,
      "problem_letter": "B",
      "problem_id": 3735,
      "problem_name": "Hard-working Student",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 25,
      "problem_letter": "C",
      "problem_id": 3736,
      "problem_name": "System Engineer",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 25,
      "problem_letter": "D",
      "problem_id": 3737,
      "problem_name": "Cycles of Lanes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "biconnected component",
        "cactus",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bcc",
        "cactus",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 25,
      "problem_letter": "E",
      "problem_id": 3738,
      "problem_name": "Multiprocessor Scheduling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 25,
      "problem_letter": "F",
      "problem_id": 3739,
      "problem_name": "Maze Stretching",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 25,
      "problem_letter": "G",
      "problem_id": 3740,
      "problem_name": "Software Industry Revolution",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 25,
      "problem_letter": "H",
      "problem_id": 3741,
      "problem_name": "The Lucky Numbers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "sorting",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 25,
      "problem_letter": "I",
      "problem_id": 3742,
      "problem_name": "The Robbery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 25,
      "problem_letter": "J",
      "problem_id": 3743,
      "problem_name": "The Computer Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 25,
      "problem_letter": "K",
      "problem_id": 3744,
      "problem_name": "The Bad Number",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "A",
      "problem_id": 3745,
      "problem_name": "오름세",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "binary_search",
        "lis"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "B",
      "problem_id": 3746,
      "problem_name": "Sky Code",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "C",
      "problem_id": 3747,
      "problem_name": "완벽한 선거!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "D",
      "problem_id": 3748,
      "problem_name": "Lucky cities",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "bipartite graph",
        "biconnected component"
      ],
      "tag_keys": [
        "graphs",
        "bipartite_graph",
        "bcc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "E",
      "problem_id": 3749,
      "problem_name": "Build Your Home",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "F",
      "problem_id": 3750,
      "problem_name": "Quick answer",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "G",
      "problem_id": 3751,
      "problem_name": "행운의 수",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "bruteforcing"
      ],
      "tag_keys": [
        "binary_search",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "H",
      "problem_id": 3752,
      "problem_name": "최대공약수 행렬식",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "linear algebra",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "linear_algebra",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 26,
      "problem_letter": "I",
      "problem_id": 3753,
      "problem_name": "Internet Service Providers",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 27,
      "problem_letter": "A",
      "problem_id": 3754,
      "problem_name": "John",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 27,
      "problem_letter": "B",
      "problem_id": 3755,
      "problem_name": "Double Queue",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "set / map",
        "priority queue",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "priority_queue",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 27,
      "problem_letter": "C",
      "problem_id": 3756,
      "problem_name": "‘JBC’",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 27,
      "problem_letter": "D",
      "problem_id": 3757,
      "problem_name": "Loan Scheduling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 27,
      "problem_letter": "E",
      "problem_id": 1637,
      "problem_name": "날카로운 눈",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "parametric search",
        "parity"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search",
        "parity"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 27,
      "problem_letter": "F",
      "problem_id": 3759,
      "problem_name": "Highway",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 27,
      "problem_letter": "G",
      "problem_id": 3760,
      "problem_name": "Computers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "dp",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 27,
      "problem_letter": "H",
      "problem_id": 3761,
      "problem_name": "The Stable Marriage Problem",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "string",
        "parsing",
        "stable marriage problem"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "parsing",
        "stable_marriage"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stable_marriage",
          "name": "stable marriage problem",
          "boj_tag_id": 192
        }
      ]
    },
    {
      "contest_id": 27,
      "problem_letter": "I",
      "problem_id": 3762,
      "problem_name": "Arne Saknussemm",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "A",
      "problem_id": 3763,
      "problem_name": "스도쿠",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "backtracking",
        "knuth's x",
        "dancing links"
      ],
      "tag_keys": [
        "backtracking",
        "knuth_x",
        "dancing_links"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "knuth_x",
          "name": "knuth's x",
          "boj_tag_id": 174
        },
        {
          "key": "dancing_links",
          "name": "dancing links",
          "boj_tag_id": 173
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "B",
      "problem_id": 1806,
      "problem_name": "부분합",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "C",
      "problem_id": 3765,
      "problem_name": "Celebrity jeopardy",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "D",
      "problem_id": 3766,
      "problem_name": "Sherlock Holmes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 28,
      "problem_letter": "E",
      "problem_id": 3767,
      "problem_name": "Payment System",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 28,
      "problem_letter": "F",
      "problem_id": 3768,
      "problem_name": "Stargates",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "G",
      "problem_id": 3769,
      "problem_name": "최댓값",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "H",
      "problem_id": 3770,
      "problem_name": "대한민국",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 28,
      "problem_letter": "I",
      "problem_id": 3771,
      "problem_name": "“Shortest” pair of paths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 29,
      "problem_letter": "A",
      "problem_id": 3772,
      "problem_name": "Linear world",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "B",
      "problem_id": 3773,
      "problem_name": "Songs",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "C",
      "problem_id": 2239,
      "problem_name": "스도쿠",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "D",
      "problem_id": 3774,
      "problem_name": "Tour",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "E",
      "problem_id": 2125,
      "problem_name": "좀",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "convex hull",
        "line segment intersection check",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "convex_hull",
        "line_intersection",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "F",
      "problem_id": 2129,
      "problem_name": "드라이브 파이널",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "floyd–warshall",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "floyd_warshall",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "G",
      "problem_id": 3777,
      "problem_name": "Computer Transformation",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "H",
      "problem_id": 3778,
      "problem_name": "애너그램 거리",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 29,
      "problem_letter": "I",
      "problem_id": 2119,
      "problem_name": "프로그래밍 언어 L",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "dynamic programming",
        "data structures",
        "graph theory",
        "segment tree",
        "simulation",
        "segment tree with lazy propagation",
        "directed acyclic graph",
        "recursion",
        "topological sorting"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "data_structures",
        "graphs",
        "segtree",
        "simulation",
        "lazyprop",
        "dag",
        "recursion",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "A",
      "problem_id": 3779,
      "problem_name": "주기",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "B",
      "problem_id": 3780,
      "problem_name": "네트워크 연결",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "C",
      "problem_id": 3781,
      "problem_name": "Cave Exploration",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 30,
      "problem_letter": "D",
      "problem_id": 3782,
      "problem_name": "City Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "E",
      "problem_id": 3783,
      "problem_name": "세제곱근",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "binary search",
        "arbitrary precision / big integers",
        "numerical analysis"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "arbitrary_precision",
        "numerical_analysis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "numerical_analysis",
          "name": "numerical analysis",
          "boj_tag_id": 122
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "F",
      "problem_id": 3784,
      "problem_name": "Cable TV Network",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "G",
      "problem_id": 3785,
      "problem_name": "Alibaba",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 30,
      "problem_letter": "H",
      "problem_id": 3786,
      "problem_name": "Booklets",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 30,
      "problem_letter": "I",
      "problem_id": 3787,
      "problem_name": "Count on Canton",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "A",
      "problem_id": 3788,
      "problem_name": "Delta Encoding and Decoding",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "B",
      "problem_id": 3789,
      "problem_name": "Hidden Password",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "C",
      "problem_id": 3790,
      "problem_name": "Crazy tea party",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "D",
      "problem_id": 2109,
      "problem_name": "순회강연",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "E",
      "problem_id": 3792,
      "problem_name": "Lord of the Ring",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "F",
      "problem_id": 3793,
      "problem_name": "Common Subsequence",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "G",
      "problem_id": 3794,
      "problem_name": "Power Network",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "string",
        "parsing",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "parsing",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 31,
      "problem_letter": "H",
      "problem_id": 3795,
      "problem_name": "Firefighters",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 31,
      "problem_letter": "I",
      "problem_id": 3796,
      "problem_name": "Binary Polynomials",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "bitmask",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "A",
      "problem_id": 3797,
      "problem_name": "Cash Machine",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "B",
      "problem_id": 3798,
      "problem_name": "Beer Land",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "C",
      "problem_id": 3799,
      "problem_name": "BOAT",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "knapsack"
      ],
      "tag_keys": [
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "D",
      "problem_id": 3800,
      "problem_name": "Art Gallery",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "half plane intersection",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "half_plane_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "E",
      "problem_id": 3801,
      "problem_name": "Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "F",
      "problem_id": 3802,
      "problem_name": "MANAGER",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "G",
      "problem_id": 3803,
      "problem_name": "Networking",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 32,
      "problem_letter": "H",
      "problem_id": 3804,
      "problem_name": "Sly Number",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 33,
      "problem_letter": "A",
      "problem_id": 3405,
      "problem_name": "파산하는 왕국",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "B",
      "problem_id": 3406,
      "problem_name": "Who wants to live forever?",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "divide and conquer",
        "mathematics"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "math"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "C",
      "problem_id": 3407,
      "problem_name": "맹세",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "graph theory",
        "string",
        "bruteforcing",
        "graph traversal"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "string",
        "bruteforcing",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "D",
      "problem_id": 3408,
      "problem_name": "Non-boring sequences",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "E",
      "problem_id": 3409,
      "problem_name": "문자 방정식",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "graph theory",
        "string",
        "graph traversal",
        "tree",
        "depth-first search",
        "parsing"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "string",
        "graph_traversal",
        "trees",
        "dfs",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "F",
      "problem_id": 3410,
      "problem_name": "Farm and factory",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "slope trick"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "slope_trick"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "slope_trick",
          "name": "slope trick",
          "boj_tag_id": 157
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "G",
      "problem_id": 3411,
      "problem_name": "Jewel heist",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "H",
      "problem_id": 3412,
      "problem_name": "Darts",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "I",
      "problem_id": 3413,
      "problem_name": "The Dragon and the knights",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "euler characteristic (χ=v-e+f)",
        "geometry"
      ],
      "tag_keys": [
        "data_structures",
        "euler_characteristic",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "J",
      "problem_id": 3414,
      "problem_name": "Conservation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 33,
      "problem_letter": "K",
      "problem_id": 3415,
      "problem_name": "Graphic Madness",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "constructive",
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "A",
      "problem_id": 3416,
      "problem_name": "Boring Card Game",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "chinese remainder theorem",
        "implementation",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "crt",
        "implementation",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "B",
      "problem_id": 3417,
      "problem_name": "Vigenère Cipher Encryption",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "C",
      "problem_id": 3418,
      "problem_name": "Unique Encryption Keys",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "D",
      "problem_id": 3419,
      "problem_name": "Racing Car Trail",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "game theory",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "game_theory",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "E",
      "problem_id": 3420,
      "problem_name": "Stack Machine Programmer",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 34,
      "problem_letter": "F",
      "problem_id": 3421,
      "problem_name": "이상한 규정",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "data structures",
        "tree",
        "set / map",
        "splay tree"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "trees",
        "set",
        "splay_tree"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "G",
      "problem_id": 3422,
      "problem_name": "Vigenère Cipher Analysis",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 34,
      "problem_letter": "H",
      "problem_id": 3423,
      "problem_name": "The Grille",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "I",
      "problem_id": 3424,
      "problem_name": "Unchanged Picture",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 34,
      "problem_letter": "J",
      "problem_id": 3425,
      "problem_name": "고스택",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "A",
      "problem_id": 3426,
      "problem_name": "Ardenia",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "B",
      "problem_id": 3427,
      "problem_name": "Beasts",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 35,
      "problem_letter": "C",
      "problem_id": 3428,
      "problem_name": "Casting Spells",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "string",
        "manacher's"
      ],
      "tag_keys": [
        "string",
        "manacher"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "manacher",
          "name": "manacher's",
          "boj_tag_id": 44
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "D",
      "problem_id": 3429,
      "problem_name": "방어선",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "E",
      "problem_id": 3430,
      "problem_name": "용이 산다",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "priority queue",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "priority_queue",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "F",
      "problem_id": 3431,
      "problem_name": "Fields and Farmers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "case work",
        "dynamic programming",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "case_work",
        "dp",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "G",
      "problem_id": 3432,
      "problem_name": "Game",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "H",
      "problem_id": 3433,
      "problem_name": "Hanging Hats",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "I",
      "problem_id": 3434,
      "problem_name": "Insults",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "case work",
        "data structures",
        "implementation",
        "stack",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "implementation",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 35,
      "problem_letter": "J",
      "problem_id": 3435,
      "problem_name": "Justice for All",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "B",
      "problem_id": 3436,
      "problem_name": "Strange Billboard",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "C",
      "problem_id": 3437,
      "problem_name": "Phone Cell",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "parametric search"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "H",
      "problem_id": 3438,
      "problem_name": "Hexagonal Parcels",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 36,
      "problem_letter": "K",
      "problem_id": 3439,
      "problem_name": "Key Task",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "bitmask",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "bfs",
        "bitmask",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "L",
      "problem_id": 3440,
      "problem_name": "Gates of Logic",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "N",
      "problem_id": 3441,
      "problem_name": "Weird Numbers",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "P",
      "problem_id": 3442,
      "problem_name": "직각 다각형",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "sorting"
      ],
      "tag_keys": [
        "geometry",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "R",
      "problem_id": 3443,
      "problem_name": "Reaux! Sham! Beaux!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "S",
      "problem_id": 3444,
      "problem_name": "Robotic Sort",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "tree",
        "splay tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "splay_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "W",
      "problem_id": 3445,
      "problem_name": "Tough Water Level",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 36,
      "problem_letter": "PA",
      "problem_id": 6612,
      "problem_name": "개미의 이동",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "PB",
      "problem_id": 3447,
      "problem_name": "버그왕",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "PC",
      "problem_id": 3448,
      "problem_name": "문자 인식",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "PD",
      "problem_id": 3449,
      "problem_name": "해밍 거리",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 36,
      "problem_letter": "PE",
      "problem_id": 3450,
      "problem_name": "Desperate Electrician",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 37,
      "problem_letter": "A",
      "problem_id": 3451,
      "problem_name": "Easy Task",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 37,
      "problem_letter": "B",
      "problem_id": 3452,
      "problem_name": "Bundling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 37,
      "problem_letter": "C",
      "problem_id": 3453,
      "problem_name": "Shortcut",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 37,
      "problem_letter": "D",
      "problem_id": 3454,
      "problem_name": "Dice Contest",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 37,
      "problem_letter": "E",
      "problem_id": 3455,
      "problem_name": "November Rain",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "sweeping"
      ],
      "tag_keys": [
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 37,
      "problem_letter": "F",
      "problem_id": 3456,
      "problem_name": "축구공",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "ad-hoc",
        "geometry",
        "finding invariants",
        "euler characteristic (χ=v-e+f)"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "geometry",
        "invariant",
        "euler_characteristic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        }
      ]
    },
    {
      "contest_id": 37,
      "problem_letter": "G",
      "problem_id": 3457,
      "problem_name": "Which is Next",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 37,
      "problem_letter": "H",
      "problem_id": 3458,
      "problem_name": "Hang or not to hang",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 37,
      "problem_letter": "I",
      "problem_id": 3459,
      "problem_name": "Minimizing Maximizer",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "A",
      "problem_id": 3461,
      "problem_name": "Alice and Bob",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "planar graph",
        "dual graph"
      ],
      "tag_keys": [
        "graphs",
        "planar_graph",
        "dual_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "dual_graph",
          "name": "dual graph",
          "boj_tag_id": 181
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "B",
      "problem_id": 3462,
      "problem_name": "이진 스털링 수",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "C",
      "problem_id": 3463,
      "problem_name": "Calendar of Maya",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 38,
      "problem_letter": "D",
      "problem_id": 3464,
      "problem_name": "Decoding Morse sequences",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "dynamic programming",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "E",
      "problem_id": 2354,
      "problem_name": "비교교환",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "ad-hoc"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "F",
      "problem_id": 2130,
      "problem_name": "수조",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "binary search",
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "G",
      "problem_id": 3467,
      "problem_name": "Gates",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "constructive"
      ],
      "tag_keys": [
        "binary_search",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 38,
      "problem_letter": "H",
      "problem_id": 3468,
      "problem_name": "Horizontally Visible Segments",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 38,
      "problem_letter": "PB",
      "problem_id": 3460,
      "problem_name": "이진수",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 39,
      "problem_letter": "A",
      "problem_id": 3469,
      "problem_name": "Simple Arithmetics",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "case work",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "case_work",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 39,
      "problem_letter": "B",
      "problem_id": 3470,
      "problem_name": "The Bulk",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 39,
      "problem_letter": "C",
      "problem_id": 3471,
      "problem_name": "Complete the sequence!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "calculus",
        "difference array",
        "polynomial interpolation"
      ],
      "tag_keys": [
        "math",
        "calculus",
        "difference_array",
        "polynomial_interpolation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "polynomial_interpolation",
          "name": "polynomial interpolation",
          "boj_tag_id": 209
        }
      ]
    },
    {
      "contest_id": 39,
      "problem_letter": "D",
      "problem_id": 3472,
      "problem_name": "Direct Visibility",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 39,
      "problem_letter": "E",
      "problem_id": 3473,
      "problem_name": "Complicated Expressions",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 39,
      "problem_letter": "F",
      "problem_id": 3474,
      "problem_name": "교수가 된 현우",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 39,
      "problem_letter": "G",
      "problem_id": 3475,
      "problem_name": "The Game of Master-Mind",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 39,
      "problem_letter": "H",
      "problem_id": 3476,
      "problem_name": "Hotline",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 39,
      "problem_letter": "I",
      "problem_id": 3477,
      "problem_name": "I-Keyboard",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 40,
      "problem_letter": "A",
      "problem_id": 3478,
      "problem_name": "Run Away",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "heuristics"
      ],
      "tag_keys": [
        "geometry",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 40,
      "problem_letter": "B",
      "problem_id": 3479,
      "problem_name": "Equipment Box",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 40,
      "problem_letter": "C",
      "problem_id": 3480,
      "problem_name": "Secret Code",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 40,
      "problem_letter": "D",
      "problem_id": 3481,
      "problem_name": "The Proper Key",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 40,
      "problem_letter": "E",
      "problem_id": 3482,
      "problem_name": "Labyrinth",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "grid graph",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "grid_graph",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 40,
      "problem_letter": "F",
      "problem_id": 3483,
      "problem_name": "Piggy-Bank",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 40,
      "problem_letter": "G",
      "problem_id": 3484,
      "problem_name": "Lifting the Stone",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 40,
      "problem_letter": "H",
      "problem_id": 3485,
      "problem_name": "Play on Words",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 41,
      "problem_letter": "A",
      "problem_id": 3486,
      "problem_name": "Adding Reversed Numbers",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 41,
      "problem_letter": "B",
      "problem_id": 3487,
      "problem_name": "Copying Books",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 41,
      "problem_letter": "C",
      "problem_id": 3488,
      "problem_name": "Substitution Cipher",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 41,
      "problem_letter": "D",
      "problem_id": 3489,
      "problem_name": "Commedia dell' arte",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 41,
      "problem_letter": "E",
      "problem_id": 3490,
      "problem_name": "Calculating Expressions on Turing Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 41,
      "problem_letter": "F",
      "problem_id": 3491,
      "problem_name": "Skyscraper Floors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "number theory",
        "breadth-first search",
        "depth-first search",
        "chinese remainder theorem",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "number_theory",
        "bfs",
        "dfs",
        "crt",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 41,
      "problem_letter": "G",
      "problem_id": 3492,
      "problem_name": "Glass Beads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 41,
      "problem_letter": "H",
      "problem_id": 3493,
      "problem_name": "Hares and Foxes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 41,
      "problem_letter": "I",
      "problem_id": 3494,
      "problem_name": "Invitation Cards",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "A",
      "problem_id": 3507,
      "problem_name": "Automated Telephone Exchange",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "B",
      "problem_id": 3508,
      "problem_name": "Black Square",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "C",
      "problem_id": 3509,
      "problem_name": "Cube Coloring",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 42,
      "problem_letter": "D",
      "problem_id": 3510,
      "problem_name": "Dice",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "E",
      "problem_id": 3511,
      "problem_name": "Electrification",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 42,
      "problem_letter": "F",
      "problem_id": 3512,
      "problem_name": "Flat",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "G",
      "problem_id": 3513,
      "problem_name": "Galaxy Interconnection",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "constructive",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "constructive",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "H",
      "problem_id": 3514,
      "problem_name": "High security",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 42,
      "problem_letter": "I",
      "problem_id": 3515,
      "problem_name": "Immediate Delivery",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bitmask",
        "dijkstra's",
        "dynamic programming",
        "dynamic programming using bitfield",
        "graph theory",
        "shortest path",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "bitmask",
        "dijkstra",
        "dp",
        "dp_bitfield",
        "graphs",
        "shortest_path",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "J",
      "problem_id": 3516,
      "problem_name": "John’s Inversions",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "sorting",
        "segment tree",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 42,
      "problem_letter": "K",
      "problem_id": 3517,
      "problem_name": "Kids Like Cakes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 43,
      "problem_letter": "A",
      "problem_id": 3529,
      "problem_name": "Alien Communication Masterclass",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "constructive",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "B",
      "problem_id": 3530,
      "problem_name": "Bug2",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 43,
      "problem_letter": "C",
      "problem_id": 3531,
      "problem_name": "Commuting Functions",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "D",
      "problem_id": 3532,
      "problem_name": "Defense of a Kingdom",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "E",
      "problem_id": 3533,
      "problem_name": "Explicit Formula",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "F",
      "problem_id": 3534,
      "problem_name": "Frames",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "G",
      "problem_id": 3535,
      "problem_name": "Gadgets Factory",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 43,
      "problem_letter": "H",
      "problem_id": 3536,
      "problem_name": "Horrible Truth",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "I",
      "problem_id": 3537,
      "problem_name": "Ideal Contest",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "J",
      "problem_id": 3538,
      "problem_name": "Journey",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "shortest path",
        "depth-first search",
        "dijkstra's",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dfs",
        "dijkstra",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 43,
      "problem_letter": "K",
      "problem_id": 3539,
      "problem_name": "Kitchen Robot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 44,
      "problem_letter": "A",
      "problem_id": 3550,
      "problem_name": "Auxiliary Question of the Universe",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "B",
      "problem_id": 3551,
      "problem_name": "Bureaucracy",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "graph theory"
      ],
      "tag_keys": [
        "implementation",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "C",
      "problem_id": 3552,
      "problem_name": "Circles on a Screen",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "D",
      "problem_id": 3553,
      "problem_name": "Dragon’s Question",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "E",
      "problem_id": 3554,
      "problem_name": "Enigmatic Device",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "F",
      "problem_id": 3555,
      "problem_name": "Four Points",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "G",
      "problem_id": 3556,
      "problem_name": "Grand Theft Auto Wheel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 44,
      "problem_letter": "H",
      "problem_id": 3557,
      "problem_name": "Homo or Hetero?",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "I",
      "problem_id": 3558,
      "problem_name": "Image Recognition",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 44,
      "problem_letter": "J",
      "problem_id": 3559,
      "problem_name": "Jealous Numbers",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "inclusion and exclusion",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "inclusion_and_exclusion",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 44,
      "problem_letter": "K",
      "problem_id": 3560,
      "problem_name": "Kripke Model",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "A",
      "problem_id": 3571,
      "problem_name": "Access Control Lists",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "B",
      "problem_id": 3572,
      "problem_name": "Billboard",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "C",
      "problem_id": 3573,
      "problem_name": "Class",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "D",
      "problem_id": 3574,
      "problem_name": "Deposits",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "combinatorics",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "combinatorics",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "E",
      "problem_id": 3575,
      "problem_name": "Enchanted Mirror",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "F",
      "problem_id": 3576,
      "problem_name": "Fenwick Tree",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "constructive",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "constructive",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "G",
      "problem_id": 3577,
      "problem_name": "Ground Works",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "geometry",
        "tree",
        "case work",
        "recursion",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "geometry",
        "trees",
        "case_work",
        "recursion",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "H",
      "problem_id": 3578,
      "problem_name": "Holes",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "I",
      "problem_id": 3579,
      "problem_name": "Important Wires",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "J",
      "problem_id": 3580,
      "problem_name": "Just Too Lucky",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "precomputation",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "precomputation",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 45,
      "problem_letter": "K",
      "problem_id": 3581,
      "problem_name": "Key to Success",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "A",
      "problem_id": 3594,
      "problem_name": "A+B",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "string"
      ],
      "tag_keys": [
        "math",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "B",
      "problem_id": 3595,
      "problem_name": "맥주 냉장고",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "C",
      "problem_id": 3596,
      "problem_name": "크로스와 크로스",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "D",
      "problem_id": 3597,
      "problem_name": "Domestic Networks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 46,
      "problem_letter": "E",
      "problem_id": 3598,
      "problem_name": "엘리베이터",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "F",
      "problem_id": 3599,
      "problem_name": "Formula",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 46,
      "problem_letter": "G",
      "problem_id": 3600,
      "problem_name": "Given a string. . .",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "set / map",
        "hashing",
        "bit set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hashing",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "H",
      "problem_id": 3601,
      "problem_name": "History of Football",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "data structures",
        "bruteforcing",
        "sorting",
        "set / map",
        "backtracking",
        "set / map by trees",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "bruteforcing",
        "sorting",
        "set",
        "backtracking",
        "tree_set",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "I",
      "problem_id": 3602,
      "problem_name": "iChess",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "parity"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "J",
      "problem_id": 3603,
      "problem_name": "Journey with Pigs",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 46,
      "problem_letter": "K",
      "problem_id": 3604,
      "problem_name": "K’ak’-u-pakal and Mayan Script",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 47,
      "problem_letter": "A",
      "problem_id": 3615,
      "problem_name": "Alphabet",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 47,
      "problem_letter": "B",
      "problem_id": 3616,
      "problem_name": "Bridges",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 47,
      "problem_letter": "C",
      "problem_id": 3617,
      "problem_name": "Confectionery",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 47,
      "problem_letter": "D",
      "problem_id": 3618,
      "problem_name": "Deciphering",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 47,
      "problem_letter": "E",
      "problem_id": 3619,
      "problem_name": "Equation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 47,
      "problem_letter": "F",
      "problem_id": 3620,
      "problem_name": "Feng Shui",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "half plane intersection",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "half_plane_intersection",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 47,
      "problem_letter": "G",
      "problem_id": 3621,
      "problem_name": "족보",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 47,
      "problem_letter": "H",
      "problem_id": 3622,
      "problem_name": "어떤 호박의 할로윈 여행",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 47,
      "problem_letter": "I",
      "problem_id": 3623,
      "problem_name": "상범이의 액자",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 47,
      "problem_letter": "J",
      "problem_id": 3624,
      "problem_name": "Japanese Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 47,
      "problem_letter": "K",
      "problem_id": 3625,
      "problem_name": "Kennings",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 48,
      "problem_letter": "A",
      "problem_id": 3629,
      "problem_name": "Astronomy",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "arbitrary precision / big integers",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arbitrary_precision",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "B",
      "problem_id": 3630,
      "problem_name": "Bee Garden",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "geometry",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "geometry",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "C",
      "problem_id": 3631,
      "problem_name": "Cutting a Block",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "D",
      "problem_id": 3632,
      "problem_name": "Drying",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "E",
      "problem_id": 3633,
      "problem_name": "Expectation",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "probability theory",
        "linearity of expectation",
        "statistics"
      ],
      "tag_keys": [
        "math",
        "probability",
        "linearity_of_expectation",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "F",
      "problem_id": 3634,
      "problem_name": "Flip and Turn",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "G",
      "problem_id": 3635,
      "problem_name": "Godfather",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "H",
      "problem_id": 3636,
      "problem_name": "Horn Clauses",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "greedy",
        "string",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "greedy",
        "string",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "I",
      "problem_id": 3637,
      "problem_name": "Inner Vertices",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 48,
      "problem_letter": "J",
      "problem_id": 3638,
      "problem_name": "Jenny's First Exams",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 48,
      "problem_letter": "K",
      "problem_id": 3639,
      "problem_name": "K Best",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "sorting",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "A",
      "problem_id": 3640,
      "problem_name": "제독",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "B",
      "problem_id": 3641,
      "problem_name": "호프집 선택",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "C",
      "problem_id": 3642,
      "problem_name": "자전거",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 49,
      "problem_letter": "D",
      "problem_id": 3643,
      "problem_name": "디지털 시계",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "E",
      "problem_id": 3644,
      "problem_name": "그래프 매칭",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "F",
      "problem_id": 3645,
      "problem_name": "토너먼트 조작",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "graph theory",
        "constructive",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "constructive",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "G",
      "problem_id": 3646,
      "problem_name": "경비원",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 49,
      "problem_letter": "H",
      "problem_id": 3647,
      "problem_name": "흥미로운 집합",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "data structures",
        "bruteforcing",
        "number theory",
        "bitmask",
        "priority queue",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "bruteforcing",
        "number_theory",
        "bitmask",
        "priority_queue",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "I",
      "problem_id": 3648,
      "problem_name": "아이돌",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "J",
      "problem_id": 3649,
      "problem_name": "로봇 프로젝트",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "sorting",
        "binary search",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 49,
      "problem_letter": "K",
      "problem_id": 3650,
      "problem_name": "암호 해독",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "set / map",
        "combinatorics",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "set",
        "combinatorics",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "A",
      "problem_id": 3651,
      "problem_name": "이항계수",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "binary search",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "B",
      "problem_id": 3652,
      "problem_name": "새트리",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "C",
      "problem_id": 3653,
      "problem_name": "영화 수집",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "D",
      "problem_id": 3654,
      "problem_name": "L퍼즐",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "E",
      "problem_id": 3655,
      "problem_name": "먼저 가세요",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "string",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "F",
      "problem_id": 3656,
      "problem_name": "수영장 만들기",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "grid graph",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "grid_graph",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "G",
      "problem_id": 3657,
      "problem_name": "총격전",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive",
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "constructive",
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "H",
      "problem_id": 3658,
      "problem_name": "Tichu",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc",
        "backtracking",
        "bitmask",
        "dynamic programming",
        "implementation",
        "recursion"
      ],
      "tag_keys": [
        "ad_hoc",
        "backtracking",
        "bitmask",
        "dp",
        "implementation",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "I",
      "problem_id": 3659,
      "problem_name": "RFID 추적",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "set / map",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "set",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 50,
      "problem_letter": "J",
      "problem_id": 3660,
      "problem_name": "열차 지연",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bellman–ford",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bellman_ford",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "A",
      "problem_id": 3661,
      "problem_name": "생일 선물",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "B",
      "problem_id": 3662,
      "problem_name": "보석 분배",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "C",
      "problem_id": 3663,
      "problem_name": "고득점",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "D",
      "problem_id": 3664,
      "problem_name": "언덕",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "greedy",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "E",
      "problem_id": 3665,
      "problem_name": "최종 순위",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "F",
      "problem_id": 3666,
      "problem_name": "리스크",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "binary search",
        "parametric search",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "parametric_search",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "G",
      "problem_id": 3667,
      "problem_name": "Selling Land",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "H",
      "problem_id": 3668,
      "problem_name": "Stock Prices",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "I",
      "problem_id": 3669,
      "problem_name": "Telephone Network",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "bipartite graph",
        "bipartite matching",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "recursion"
      ],
      "tag_keys": [
        "ad_hoc",
        "bipartite_graph",
        "bipartite_matching",
        "dfs",
        "graphs",
        "graph_traversal",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 51,
      "problem_letter": "J",
      "problem_id": 3670,
      "problem_name": "Wormly",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "two-pointer",
        "deque"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "two_pointer",
        "deque"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "A",
      "problem_id": 3671,
      "problem_name": "산업 스파이의 편지",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "combinatorics",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "combinatorics",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "B",
      "problem_id": 3672,
      "problem_name": "Common Subexpression Elimination",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 52,
      "problem_letter": "C",
      "problem_id": 3673,
      "problem_name": "나눌 수 있는 부분 수열",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "D",
      "problem_id": 3674,
      "problem_name": "Fractal",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "recursion",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "recursion",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "E",
      "problem_id": 3675,
      "problem_name": "Mountain Road",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "F",
      "problem_id": 3676,
      "problem_name": "Moving to Nuremberg",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "G",
      "problem_id": 3677,
      "problem_name": "Room Assignments",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "H",
      "problem_id": 3678,
      "problem_name": "카탄의 개척자",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "I",
      "problem_id": 3679,
      "problem_name": "단순 다각형",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "sorting",
        "geometry",
        "convex hull",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "convex_hull",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 52,
      "problem_letter": "J",
      "problem_id": 3680,
      "problem_name": "Wormholes",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bellman–ford",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bellman_ford",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "A",
      "problem_id": 3681,
      "problem_name": "모빌",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "string",
        "ad-hoc",
        "set / map",
        "parsing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "ad_hoc",
        "set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "B",
      "problem_id": 3682,
      "problem_name": "동치 증명",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "C",
      "problem_id": 3683,
      "problem_name": "고양이와 개",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "D",
      "problem_id": 3684,
      "problem_name": "어려운 문제",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "E",
      "problem_id": 3685,
      "problem_name": "김강山",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "data structures",
        "slope trick"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "slope_trick"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "slope_trick",
          "name": "slope trick",
          "boj_tag_id": 157
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "F",
      "problem_id": 3686,
      "problem_name": "Sculpture",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "H",
      "problem_id": 3687,
      "problem_name": "성냥개비",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "I",
      "problem_id": 3688,
      "problem_name": "래프팅 디자인",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "J",
      "problem_id": 3689,
      "problem_name": "셔플",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "prefix sum",
        "sliding window",
        "two-pointer"
      ],
      "tag_keys": [
        "prefix_sum",
        "sliding_window",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 53,
      "problem_letter": "K",
      "problem_id": 3690,
      "problem_name": "Videopoker",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "mathematics",
        "bruteforcing",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "A",
      "problem_id": 3691,
      "problem_name": "컴퓨터 조립",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "binary search",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "binary_search",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "B",
      "problem_id": 3692,
      "problem_name": "펭귄들의 행진",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "C",
      "problem_id": 3693,
      "problem_name": "컨테이너",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "mathematics"
      ],
      "tag_keys": [
        "bruteforcing",
        "math"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "D",
      "problem_id": 3694,
      "problem_name": "Youth Hostel Dorm",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 54,
      "problem_letter": "E",
      "problem_id": 3695,
      "problem_name": "Escape from Enemy Territory",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "parametric search"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "F",
      "problem_id": 3696,
      "problem_name": "Flight Safety",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "binary search",
        "divide and conquer",
        "geometry",
        "line segment intersection check",
        "point in non-convex polygon check",
        "voronoi diagram"
      ],
      "tag_keys": [
        "binary_search",
        "divide_and_conquer",
        "geometry",
        "line_intersection",
        "point_in_non_convex_polygon",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "G",
      "problem_id": 3697,
      "problem_name": "정상",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "sorting",
        "breadth-first search",
        "disjoint set",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "sorting",
        "bfs",
        "disjoint_set",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "H",
      "problem_id": 3698,
      "problem_name": "애매함",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "hashing",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "hashing",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "I",
      "problem_id": 3699,
      "problem_name": "주차 빌딩",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 54,
      "problem_letter": "J",
      "problem_id": 3700,
      "problem_name": "걷기",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "sorting",
        "geometry",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "A",
      "problem_id": 3701,
      "problem_name": "스도쿠 변형",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "B",
      "problem_id": 3702,
      "problem_name": "The SetStack Computer",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bit set",
        "data structures",
        "implementation",
        "stack",
        "tree",
        "tree isomorphism"
      ],
      "tag_keys": [
        "bitset",
        "data_structures",
        "implementation",
        "stack",
        "trees",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "C",
      "problem_id": 3703,
      "problem_name": "Pie",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "D",
      "problem_id": 3704,
      "problem_name": "Ticket to Ride",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "data structures",
        "dynamic programming",
        "floyd–warshall",
        "graph theory",
        "minimum spanning tree",
        "shortest path",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "floyd_warshall",
        "graphs",
        "mst",
        "shortest_path",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "E",
      "problem_id": 2000,
      "problem_name": "책장제작",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "F",
      "problem_id": 1966,
      "problem_name": "프린터 큐",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "G",
      "problem_id": 1963,
      "problem_name": "소수 경로",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "number theory",
        "breadth-first search",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "number_theory",
        "bfs",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 55,
      "problem_letter": "H",
      "problem_id": 3705,
      "problem_name": "Lineland’s Airport",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 55,
      "problem_letter": "I",
      "problem_id": 3706,
      "problem_name": "Leonardo’s Notebook",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 56,
      "problem_letter": "A",
      "problem_id": 3707,
      "problem_name": "Unequalled Consumption",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 56,
      "problem_letter": "B",
      "problem_id": 3708,
      "problem_name": "Declaration of Content",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 56,
      "problem_letter": "C",
      "problem_id": 3709,
      "problem_name": "Laserbox",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 56,
      "problem_letter": "D",
      "problem_id": 2005,
      "problem_name": "사발",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "case work",
        "dynamic programming",
        "geometry",
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "dp",
        "geometry",
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 56,
      "problem_letter": "E",
      "problem_id": 3710,
      "problem_name": "Pesky Heroes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 56,
      "problem_letter": "F",
      "problem_id": 3711,
      "problem_name": "학번",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "set / map"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 56,
      "problem_letter": "G",
      "problem_id": 3712,
      "problem_name": "Tantrix",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 56,
      "problem_letter": "H",
      "problem_id": 3713,
      "problem_name": "당일치기",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 56,
      "problem_letter": "I",
      "problem_id": 3714,
      "problem_name": "Up the Stairs",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "binary search",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "binary_search",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "A",
      "problem_id": 3805,
      "problem_name": "벌집들",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "B",
      "problem_id": 3806,
      "problem_name": "S를 T로",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "C",
      "problem_id": 3807,
      "problem_name": "고창영 비밀번호의 비밀",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "D",
      "problem_id": 3808,
      "problem_name": "ACGU",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 57,
      "problem_letter": "E",
      "problem_id": 3809,
      "problem_name": "Old School Days",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 57,
      "problem_letter": "F",
      "problem_id": 3810,
      "problem_name": "Sentry Robots",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "G",
      "problem_id": 3811,
      "problem_name": "How do spiders walk on water?",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "H",
      "problem_id": 3812,
      "problem_name": "되팔렘",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "knapsack"
      ],
      "tag_keys": [
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 57,
      "problem_letter": "I",
      "problem_id": 3813,
      "problem_name": "The Moon of Valencia",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 57,
      "problem_letter": "J",
      "problem_id": 3814,
      "problem_name": "Countdown",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 58,
      "problem_letter": "A",
      "problem_id": 3835,
      "problem_name": "Alphabet Soup",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "burnside's lemma",
        "combinatorics",
        "knuth–morris–pratt",
        "mathematics",
        "string"
      ],
      "tag_keys": [
        "burnside",
        "combinatorics",
        "kmp",
        "math",
        "string"
      ],
      "tag_details": [
        {
          "key": "burnside",
          "name": "burnside's lemma",
          "boj_tag_id": 16
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "B",
      "problem_id": 3836,
      "problem_name": "Coin Collecting",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "graph theory",
        "matroid"
      ],
      "tag_keys": [
        "graphs",
        "matroid"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "matroid",
          "name": "matroid",
          "boj_tag_id": 104
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "C",
      "problem_id": 3837,
      "problem_name": "사이버 도넛 범죄 수사",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "segment tree",
        "sweeping",
        "offline queries"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "segtree",
        "sweeping",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "D",
      "problem_id": 3838,
      "problem_name": "Distributing Ballot Boxes",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "E",
      "problem_id": 3839,
      "problem_name": "Game, Set and Match",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "F",
      "problem_id": 3840,
      "problem_name": "Guess the Numbers",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "G",
      "problem_id": 3841,
      "problem_name": "Non-negative Partial Sums",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "deque",
        "prefix sum"
      ],
      "tag_keys": [
        "data_structures",
        "deque",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "H",
      "problem_id": 3842,
      "problem_name": "Peer Review",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "I",
      "problem_id": 3843,
      "problem_name": "볼록 정다각형",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 58,
      "problem_letter": "J",
      "problem_id": 3844,
      "problem_name": "백준 공화국",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "exponentiation by squaring",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "exponentiation_by_squaring",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 59,
      "problem_letter": "A",
      "problem_id": 3845,
      "problem_name": "잔디깎기",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 59,
      "problem_letter": "B",
      "problem_id": 3846,
      "problem_name": "Periodic points",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "case work",
        "dynamic programming",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "dp",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 59,
      "problem_letter": "C",
      "problem_id": 3847,
      "problem_name": "Comparing answers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "linear algebra",
        "randomization"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 59,
      "problem_letter": "D",
      "problem_id": 3848,
      "problem_name": "Fake scoreboard",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 59,
      "problem_letter": "E",
      "problem_id": 3849,
      "problem_name": "Palindromic DNA",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "2-sat",
        "data structures",
        "disjoint set",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "data_structures",
        "disjoint_set",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 59,
      "problem_letter": "F",
      "problem_id": 3850,
      "problem_name": "Jumping monkey",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bitmask"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 59,
      "problem_letter": "G",
      "problem_id": 3851,
      "problem_name": "Sensor network",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 59,
      "problem_letter": "H",
      "problem_id": 3852,
      "problem_name": "생산 공정",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 59,
      "problem_letter": "I",
      "problem_id": 3853,
      "problem_name": "자물쇠와 열쇠",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 59,
      "problem_letter": "J",
      "problem_id": 3854,
      "problem_name": "3-sided dice",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "A",
      "problem_id": 3855,
      "problem_name": "Trick or Treat",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "B",
      "problem_id": 3856,
      "problem_name": "Working at the Restaurant",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "C",
      "problem_id": 3857,
      "problem_name": "전구 게임",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "modular multiplicative inverse",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "modular_multiplicative_inverse",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "D",
      "problem_id": 3858,
      "problem_name": "Darts",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "binary search",
        "combinatorics",
        "parametric search",
        "game theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "binary_search",
        "combinatorics",
        "parametric_search",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "E",
      "problem_id": 3859,
      "problem_name": "Genetics",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive",
        "randomization"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "F",
      "problem_id": 3860,
      "problem_name": "할로윈 묘지",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "grid graph",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "grid_graph",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "G",
      "problem_id": 3861,
      "problem_name": "Slalom",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "H",
      "problem_id": 3862,
      "problem_name": "Routing",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "recursion"
      ],
      "tag_keys": [
        "graphs",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "I",
      "problem_id": 3863,
      "problem_name": "행복한 전화 통화",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 60,
      "problem_letter": "J",
      "problem_id": 3864,
      "problem_name": "Stammering Aliens",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "parametric search",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 61,
      "problem_letter": "A",
      "problem_id": 3815,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "B",
      "problem_id": 3816,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "C",
      "problem_id": 3817,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "D",
      "problem_id": 3818,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "E",
      "problem_id": 3819,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "F",
      "problem_id": 3820,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "G",
      "problem_id": 3821,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "H",
      "problem_id": 3822,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "I",
      "problem_id": 3823,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 61,
      "problem_letter": "J",
      "problem_id": 3824,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 114,
      "problem_letter": "A",
      "problem_id": 4018,
      "problem_name": "Babs’ Box Boutique",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "bitmask"
      ],
      "tag_keys": [
        "dp",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 114,
      "problem_letter": "B",
      "problem_id": 4019,
      "problem_name": "Flash Mob",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 114,
      "problem_letter": "C",
      "problem_id": 4020,
      "problem_name": "Hexagon Perplexagon",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 114,
      "problem_letter": "D",
      "problem_id": 4021,
      "problem_name": "I’ve Got Your Back(gammon)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 114,
      "problem_letter": "E",
      "problem_id": 4022,
      "problem_name": "Parencedence!",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 114,
      "problem_letter": "F",
      "problem_id": 4023,
      "problem_name": "Road Series",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 114,
      "problem_letter": "G",
      "problem_id": 4024,
      "problem_name": "Show Me the Money",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 114,
      "problem_letter": "H",
      "problem_id": 4025,
      "problem_name": "Sofa, So Good",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 114,
      "problem_letter": "I",
      "problem_id": 4026,
      "problem_name": "Town Square",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "A",
      "problem_id": 4027,
      "problem_name": "The Agency",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "greedy",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "B",
      "problem_id": 4028,
      "problem_name": "Chain of Fools",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "C",
      "problem_id": 4029,
      "problem_name": "콩도르세 역설",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "D",
      "problem_id": 4030,
      "problem_name": "포켓볼",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "binary search",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "E",
      "problem_id": 4031,
      "problem_name": "The Banzhaf Buzz-Of",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "F",
      "problem_id": 4032,
      "problem_name": "GPS I Love You",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 115,
      "problem_letter": "G",
      "problem_id": 4033,
      "problem_name": "Have You Driven a Fjord Lately?",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "dynamic programming",
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "H",
      "problem_id": 4034,
      "problem_name": "Mobile",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "tree",
        "number theory",
        "arithmetic",
        "recursion",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "trees",
        "number_theory",
        "arithmetic",
        "recursion",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 115,
      "problem_letter": "I",
      "problem_id": 4035,
      "problem_name": "Wally World",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 116,
      "problem_letter": "A",
      "problem_id": 4036,
      "problem_name": "Cut It Out!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 116,
      "problem_letter": "B",
      "problem_id": 4037,
      "problem_name": "Flip It!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 116,
      "problem_letter": "C",
      "problem_id": 4038,
      "problem_name": "Maze",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 116,
      "problem_letter": "D",
      "problem_id": 4039,
      "problem_name": "Photo Shoot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 116,
      "problem_letter": "E",
      "problem_id": 4040,
      "problem_name": "Polar Bear",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 116,
      "problem_letter": "F",
      "problem_id": 4041,
      "problem_name": "Pro-Test Voting",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 116,
      "problem_letter": "G",
      "problem_id": 4042,
      "problem_name": "Vampires!",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 116,
      "problem_letter": "H",
      "problem_id": 4043,
      "problem_name": "We’ve Got Chemistry, Babe",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 117,
      "problem_letter": "A",
      "problem_id": 4044,
      "problem_name": "도전 24",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 117,
      "problem_letter": "B",
      "problem_id": 4045,
      "problem_name": "Cover Up",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "backtracking",
        "combinatorics",
        "dynamic programming",
        "game theory",
        "implementation",
        "mathematics",
        "probability theory",
        "recursion",
        "simulation"
      ],
      "tag_keys": [
        "backtracking",
        "combinatorics",
        "dp",
        "game_theory",
        "implementation",
        "math",
        "probability",
        "recursion",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 117,
      "problem_letter": "C",
      "problem_id": 4046,
      "problem_name": "Decompressing in a GIF",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "string",
        "ad-hoc",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 117,
      "problem_letter": "D",
      "problem_id": 4047,
      "problem_name": "Flipper",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 117,
      "problem_letter": "E",
      "problem_id": 4048,
      "problem_name": "The Flood",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "bruteforcing",
        "flood-fill",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bruteforcing",
        "flood_fill",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 117,
      "problem_letter": "F",
      "problem_id": 4049,
      "problem_name": "행렬의 텐서곱",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "combinatorics",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "combinatorics",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 117,
      "problem_letter": "G",
      "problem_id": 4050,
      "problem_name": "Trip the Lights Fantastic",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 117,
      "problem_letter": "H",
      "problem_id": 4051,
      "problem_name": "Windows",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 118,
      "problem_letter": "A",
      "problem_id": 4052,
      "problem_name": "Bordering on Madness",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 118,
      "problem_letter": "B",
      "problem_id": 4053,
      "problem_name": "Jack of All Trades",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 118,
      "problem_letter": "C",
      "problem_id": 4054,
      "problem_name": "LCR",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 118,
      "problem_letter": "D",
      "problem_id": 4055,
      "problem_name": "파티가 좋아 파티가 좋아",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 118,
      "problem_letter": "E",
      "problem_id": 4056,
      "problem_name": "스-스-스도쿠",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 118,
      "problem_letter": "F",
      "problem_id": 4057,
      "problem_name": "Tanks a Lot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 118,
      "problem_letter": "G",
      "problem_id": 4058,
      "problem_name": "The Worm Turns",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 118,
      "problem_letter": "H",
      "problem_id": 4059,
      "problem_name": "You’ll be Working on the Railroad",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 119,
      "problem_letter": "A",
      "problem_id": 4060,
      "problem_name": "CIVIC DILL MIX",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 119,
      "problem_letter": "B",
      "problem_id": 4061,
      "problem_name": "A Foldy but a Goody",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 119,
      "problem_letter": "C",
      "problem_id": 4062,
      "problem_name": "Give Me an E",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 119,
      "problem_letter": "D",
      "problem_id": 4063,
      "problem_name": "Lemmings, Lemmings Everywhere. But Not For Long.",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 119,
      "problem_letter": "E",
      "problem_id": 4064,
      "problem_name": "Once Around the Lock",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "case work",
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 119,
      "problem_letter": "F",
      "problem_id": 4065,
      "problem_name": "A Puzzling Problem",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 119,
      "problem_letter": "G",
      "problem_id": 4066,
      "problem_name": "And Now, a Remainder from Our Sponsor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 119,
      "problem_letter": "H",
      "problem_id": 4067,
      "problem_name": "Target Practice",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 120,
      "problem_letter": "A",
      "problem_id": 4068,
      "problem_name": "Caterpillar",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 120,
      "problem_letter": "B",
      "problem_id": 4069,
      "problem_name": "Hie with the Pie",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "shortest path",
        "backtracking",
        "floyd–warshall",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "shortest_path",
        "backtracking",
        "floyd_warshall",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 120,
      "problem_letter": "C",
      "problem_id": 4070,
      "problem_name": "Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 120,
      "problem_letter": "D",
      "problem_id": 4071,
      "problem_name": "The Mastermind Master’s Mind",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 120,
      "problem_letter": "E",
      "problem_id": 1997,
      "problem_name": "박스포장",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 120,
      "problem_letter": "F",
      "problem_id": 1870,
      "problem_name": "지붕 제작",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 120,
      "problem_letter": "G",
      "problem_id": 2039,
      "problem_name": "뱀 찾기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 120,
      "problem_letter": "H",
      "problem_id": 4073,
      "problem_name": "Stake Your Claim",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 121,
      "problem_letter": "A",
      "problem_id": 4074,
      "problem_name": "약어",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 121,
      "problem_letter": "B",
      "problem_id": 4075,
      "problem_name": "Countdown",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "tree",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hash_set",
        "trees",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 121,
      "problem_letter": "C",
      "problem_id": 4076,
      "problem_name": "The Game of Efil",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 121,
      "problem_letter": "D",
      "problem_id": 1986,
      "problem_name": "체스",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 121,
      "problem_letter": "E",
      "problem_id": 4077,
      "problem_name": "Reliable Nets",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "bruteforcing",
        "articulation points and bridges"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "bruteforcing",
        "articulation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        }
      ]
    },
    {
      "contest_id": 121,
      "problem_letter": "F",
      "problem_id": 4078,
      "problem_name": "Square Count",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 121,
      "problem_letter": "G",
      "problem_id": 4079,
      "problem_name": "Swamp Things",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "data structures",
        "geometry",
        "set / map",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "geometry",
        "set",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 121,
      "problem_letter": "H",
      "problem_id": 4080,
      "problem_name": "Two Ends",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "A",
      "problem_id": 2011,
      "problem_name": "암호코드",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "B",
      "problem_id": 4241,
      "problem_name": "소수 없는 수열",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "C",
      "problem_id": 4242,
      "problem_name": "Hit or Miss",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "D",
      "problem_id": 2013,
      "problem_name": "선그리기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "geometry",
        "set / map",
        "disjoint set",
        "line segment intersection check"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "set",
        "disjoint_set",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "E",
      "problem_id": 4244,
      "problem_name": "Roll Playing Games",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "F",
      "problem_id": 4245,
      "problem_name": "Team Rankings",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "G",
      "problem_id": 4246,
      "problem_name": "To and Fro",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 122,
      "problem_letter": "H",
      "problem_id": 4247,
      "problem_name": "Translations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 123,
      "problem_letter": "A",
      "problem_id": 2149,
      "problem_name": "암호 해독",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "B",
      "problem_id": 2319,
      "problem_name": "문자열 복원하기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "set / map"
      ],
      "tag_keys": [
        "dp",
        "set"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "C",
      "problem_id": 4250,
      "problem_name": "EKG Sequence",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "simulation",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "simulation",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "D",
      "problem_id": 2349,
      "problem_name": "무선 통신 기지국",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "E",
      "problem_id": 2200,
      "problem_name": "계산기",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "E",
      "problem_id": 4252,
      "problem_name": "Polly Nomials",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "F",
      "problem_id": 4253,
      "problem_name": "Pushing Boxes",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "G",
      "problem_id": 1998,
      "problem_name": "이미지 압축",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "tree",
        "set / map",
        "set / map by hashing",
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "set",
        "hash_set",
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 123,
      "problem_letter": "H",
      "problem_id": 2175,
      "problem_name": "땅 자르기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "A",
      "problem_id": 4254,
      "problem_name": "Ball Toss",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "B",
      "problem_id": 4255,
      "problem_name": "Galactic Breakup",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "disjoint set",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "C",
      "problem_id": 1329,
      "problem_name": "증가 수열",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "C",
      "problem_id": 2035,
      "problem_name": "증가수열",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "backtracking"
      ],
      "tag_keys": [
        "dp",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "D",
      "problem_id": 4257,
      "problem_name": "프리오더 포스트오더",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "tree",
        "combinatorics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "trees",
        "combinatorics",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "E",
      "problem_id": 4258,
      "problem_name": "Knockout Tournament",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "F",
      "problem_id": 4259,
      "problem_name": "Plugged In",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "G",
      "problem_id": 4260,
      "problem_name": "One Person “The Price is Right”",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 124,
      "problem_letter": "H",
      "problem_id": 4261,
      "problem_name": "Slots of Fun",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "A",
      "problem_id": 4435,
      "problem_name": "중간계 전쟁",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "B",
      "problem_id": 4436,
      "problem_name": "엘프의 검",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "C",
      "problem_id": 4437,
      "problem_name": "Painted Cube",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "D",
      "problem_id": 4438,
      "problem_name": "팡고른 숲",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "sorting",
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "E",
      "problem_id": 4439,
      "problem_name": "Rings and Runes",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "F",
      "problem_id": 4440,
      "problem_name": "Ritual Circle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 125,
      "problem_letter": "G",
      "problem_id": 4441,
      "problem_name": "Saruman’s Level Up",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "H",
      "problem_id": 4442,
      "problem_name": "빌보의 생일",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "I",
      "problem_id": 4443,
      "problem_name": "Spellcasting",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "calculus",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "J",
      "problem_id": 4444,
      "problem_name": "Temple Build",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "K",
      "problem_id": 4445,
      "problem_name": "Tile Cut",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 125,
      "problem_letter": "L",
      "problem_id": 4446,
      "problem_name": "ROT13",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "A",
      "problem_id": 4447,
      "problem_name": "좋은놈 나쁜놈",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "B",
      "problem_id": 4448,
      "problem_name": "Bracelets",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "string",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "string",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "C",
      "problem_id": 4449,
      "problem_name": "A Classic Myth: Flatland Superhero",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bruteforcing",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "D",
      "problem_id": 4450,
      "problem_name": "Collateral Cleanup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 126,
      "problem_letter": "E",
      "problem_id": 4451,
      "problem_name": "LatticeLand",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "geometry",
        "breadth-first search",
        "line segment intersection check"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "geometry",
        "bfs",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "F",
      "problem_id": 4452,
      "problem_name": "Lightning Lessons",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "G",
      "problem_id": 4453,
      "problem_name": "Locksmith",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 126,
      "problem_letter": "H",
      "problem_id": 4454,
      "problem_name": "상근이의 여자친구",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "I",
      "problem_id": 4455,
      "problem_name": "The Status is Not Quo",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "J",
      "problem_id": 4456,
      "problem_name": "Stupendous Man",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "graph theory",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "K",
      "problem_id": 4457,
      "problem_name": "상근이의 자물쇠",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 126,
      "problem_letter": "P",
      "problem_id": 4458,
      "problem_name": "첫 글자를 대문자로",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "A",
      "problem_id": 4459,
      "problem_name": "Always Follow the Rules in Zombieland",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "B",
      "problem_id": 4460,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 127,
      "problem_letter": "C",
      "problem_id": 4461,
      "problem_name": "뱀파이어 김상근 백작",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "bruteforcing",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "D",
      "problem_id": 4462,
      "problem_name": "Zombie Swallows",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 127,
      "problem_letter": "E",
      "problem_id": 4463,
      "problem_name": "피보나치 수 분석",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "primality test",
        "precomputation",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "primality_test",
        "precomputation",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "F",
      "problem_id": 4464,
      "problem_name": "Pride and Prejudice and Zombies",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization",
        "pollard rho",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization",
        "pollard_rho",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "G",
      "problem_id": 4465,
      "problem_name": "Tales from DeCrypt",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "H",
      "problem_id": 4466,
      "problem_name": "A Smart Brain is a Tasty Brain",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "I",
      "problem_id": 4467,
      "problem_name": "Building Zombie Fences",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "J",
      "problem_id": 4468,
      "problem_name": "Save the Python Programmers!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 127,
      "problem_letter": "K",
      "problem_id": 4469,
      "problem_name": "Zombie Blast!",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 127,
      "problem_letter": "P",
      "problem_id": 4470,
      "problem_name": "줄번호",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "A",
      "problem_id": 4471,
      "problem_name": "The Navi-Computer is Down!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "string",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "string",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "B",
      "problem_id": 4472,
      "problem_name": "Blenjeel Sand Worms and Color Wriggles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "breadth-first search",
        "bitmask",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "bitmask",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "C",
      "problem_id": 4473,
      "problem_name": "This Can’t Go On Forever",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "number theory",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "number_theory",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "D",
      "problem_id": 4474,
      "problem_name": "Rescue Beacon",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "geometry; 3d",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "E",
      "problem_id": 4475,
      "problem_name": "Let the Wookiee Win!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "F",
      "problem_id": 4476,
      "problem_name": "Laser Turret Maintenance",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "G",
      "problem_id": 4477,
      "problem_name": "George Lucas and 1138",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 128,
      "problem_letter": "H",
      "problem_id": 4478,
      "problem_name": "Spare the Ewoks!",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 128,
      "problem_letter": "I",
      "problem_id": 4479,
      "problem_name": "The History of the Sith Rulers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "J",
      "problem_id": 4480,
      "problem_name": "Laser Shot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "euclidean algorithm",
        "geometry",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "euclidean",
        "geometry",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 128,
      "problem_letter": "K",
      "problem_id": 4481,
      "problem_name": "Power Grid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 129,
      "problem_letter": "A",
      "problem_id": 4482,
      "problem_name": "Tetrahedral Stacks of Cannonballs",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "B",
      "problem_id": 4483,
      "problem_name": "“Robot Roll Call – Cambot...Servo...Gypsy...Croooow”",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "C",
      "problem_id": 4484,
      "problem_name": "Cave Crisis",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "binary search",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "binary_search",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "D",
      "problem_id": 4485,
      "problem_name": "녹색 옷 입은 애가 젤다지?",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "E",
      "problem_id": 4486,
      "problem_name": "Pencils from the 19th Century",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "F",
      "problem_id": 4487,
      "problem_name": "Optimal Strategy for the ICPC",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 129,
      "problem_letter": "G",
      "problem_id": 4488,
      "problem_name": "Symbolic Logic Mechanization",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "case work",
        "data structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "data_structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "H",
      "problem_id": 4489,
      "problem_name": "Repair Depots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 129,
      "problem_letter": "I",
      "problem_id": 4490,
      "problem_name": "Crazy Circuits",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 129,
      "problem_letter": "J",
      "problem_id": 4491,
      "problem_name": "PropBot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 129,
      "problem_letter": "K",
      "problem_id": 4492,
      "problem_name": "“Ancient” Calculator",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "A",
      "problem_id": 4493,
      "problem_name": "가위 바위 보?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "B",
      "problem_id": 4494,
      "problem_name": "Missile Command",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "bruteforcing",
        "case work",
        "mathematics",
        "physics"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "case_work",
        "math",
        "physics"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "C",
      "problem_id": 4495,
      "problem_name": "Palindromic Primes Category in Jeopardy!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "mathematics",
        "number theory",
        "precomputation",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "bruteforcing",
        "math",
        "number_theory",
        "precomputation",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "D",
      "problem_id": 4496,
      "problem_name": "Pebbles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "string",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "string",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "E",
      "problem_id": 4497,
      "problem_name": "Rubik’s Cube®",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "F",
      "problem_id": 4498,
      "problem_name": "Geek Challenge [SKRZAT] (Base Minus Two)",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "G",
      "problem_id": 4499,
      "problem_name": "Frogger",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "grid graph",
        "0-1 bfs"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "shortest_path",
        "dijkstra",
        "grid_graph",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "H",
      "problem_id": 4500,
      "problem_name": "“Bubble Gum, Bubble Gum, in the dish, how many pieces do you wish?”",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "I",
      "problem_id": 4501,
      "problem_name": "Games R Us",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "J",
      "problem_id": 4502,
      "problem_name": "Cover Up",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 130,
      "problem_letter": "K",
      "problem_id": 4503,
      "problem_name": "구슬",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "shortest path",
        "bitmask",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bitmask",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 130,
      "problem_letter": "P",
      "problem_id": 4504,
      "problem_name": "배수 찾기",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "A",
      "problem_id": 4880,
      "problem_name": "다음수",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "B",
      "problem_id": 4881,
      "problem_name": "자리수의 제곱",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "C",
      "problem_id": 4882,
      "problem_name": "정규형",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "implementation",
        "stack",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "stack",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "D",
      "problem_id": 4883,
      "problem_name": "삼각 그래프",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "E",
      "problem_id": 4884,
      "problem_name": "FIFA 월드컵",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "F",
      "problem_id": 4885,
      "problem_name": "월드 오브 큐브",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 131,
      "problem_letter": "G",
      "problem_id": 4886,
      "problem_name": "나이트 이야기",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "math",
        "dp",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 131,
      "problem_letter": "H",
      "problem_id": 4887,
      "problem_name": "Jumping Beans",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 131,
      "problem_letter": "I",
      "problem_id": 4888,
      "problem_name": "문시티 건설",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "A",
      "problem_id": 4889,
      "problem_name": "안정적인 문자열",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "greedy",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "B",
      "problem_id": 4890,
      "problem_name": "Tiles of Tetris, NOT!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "C",
      "problem_id": 4891,
      "problem_name": "Not So Flat After All",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map by hashing",
        "mathematics",
        "number theory",
        "primality test",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "math",
        "number_theory",
        "primality_test",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "D",
      "problem_id": 4892,
      "problem_name": "숫자 맞추기 게임",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "E",
      "problem_id": 4893,
      "problem_name": "Hop — Don’t Walk!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "F",
      "problem_id": 4894,
      "problem_name": "Air Strike",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "G",
      "problem_id": 4895,
      "problem_name": "Stock Chase",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "H",
      "problem_id": 4896,
      "problem_name": "땅 나누기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 132,
      "problem_letter": "I",
      "problem_id": 4897,
      "problem_name": "Kind of a Blur",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "gaussian elimination",
        "implementation",
        "linear algebra",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "implementation",
        "linear_algebra",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 132,
      "problem_letter": "J",
      "problem_id": 4898,
      "problem_name": "National Treasures",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 133,
      "problem_letter": "A",
      "problem_id": 4899,
      "problem_name": "Tobo or not Tobo",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "implementation",
        "simulation",
        "set / map"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "graphs",
        "graph_traversal",
        "hash_set",
        "implementation",
        "simulation",
        "set"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "B",
      "problem_id": 4900,
      "problem_name": "7 더하기",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "C",
      "problem_id": 4901,
      "problem_name": "Match Maker",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 133,
      "problem_letter": "D",
      "problem_id": 4902,
      "problem_name": "삼각형의 값",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "E",
      "problem_id": 4903,
      "problem_name": "Relax! It’s just a game",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "F",
      "problem_id": 4904,
      "problem_name": "Einbahnstrasse",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "graph theory",
        "string",
        "set / map",
        "shortest path",
        "set / map by hashing",
        "dijkstra's",
        "parsing",
        "floyd–warshall"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "string",
        "set",
        "shortest_path",
        "hash_set",
        "dijkstra",
        "parsing",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "G",
      "problem_id": 4905,
      "problem_name": "Think I’ll Buy Me a Football Team",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "constructive",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "constructive",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "H",
      "problem_id": 4906,
      "problem_name": "Musical Chairs",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "I",
      "problem_id": 4907,
      "problem_name": "월쉬 행렬",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 133,
      "problem_letter": "J",
      "problem_id": 4908,
      "problem_name": "A Day at the Races",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "A",
      "problem_id": 4909,
      "problem_name": "Judging Olympia",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "B",
      "problem_id": 4910,
      "problem_name": "Hide That Number",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "C",
      "problem_id": 4911,
      "problem_name": "Rotating Rings",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "D",
      "problem_id": 4912,
      "problem_name": "A Tale from the Dark Side of The Moon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "E",
      "problem_id": 4913,
      "problem_name": "페르마의 크리스마스 정리",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "prefix sum",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prefix_sum",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "F",
      "problem_id": 4914,
      "problem_name": "Incidental Points",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "data structures",
        "bruteforcing",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "bruteforcing",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "G",
      "problem_id": 4915,
      "problem_name": "Let’s Go to the Movies",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "dynamic programming",
        "dynamic programming on trees",
        "set / map by hashing",
        "tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "dp_tree",
        "hash_set",
        "trees",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "H",
      "problem_id": 4916,
      "problem_name": "The Writer's Club",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "depth-first search",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "bfs",
        "dfs",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 134,
      "problem_letter": "I",
      "problem_id": 4917,
      "problem_name": "Moving Sticks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 134,
      "problem_letter": "J",
      "problem_id": 4918,
      "problem_name": "Jonny Hates Math",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "string",
        "set / map",
        "arithmetic",
        "set / map by hashing",
        "parsing",
        "traceback"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "string",
        "set",
        "arithmetic",
        "hash_set",
        "parsing",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "A",
      "problem_id": 4919,
      "problem_name": "Being Smarty!",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "B",
      "problem_id": 4920,
      "problem_name": "테트리스 게임",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "C",
      "problem_id": 4921,
      "problem_name": "나무 블록",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "D",
      "problem_id": 4922,
      "problem_name": "Walk Like an Egyptian",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "E",
      "problem_id": 4923,
      "problem_name": "The Great Sahara",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "F",
      "problem_id": 4924,
      "problem_name": "정수론 싫어",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "prefix sum",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "prefix_sum",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "G",
      "problem_id": 4925,
      "problem_name": "Minimum Spanning Tree",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "data structures",
        "graph theory",
        "string",
        "set / map",
        "parsing",
        "stack",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "string",
        "set",
        "parsing",
        "stack",
        "mst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 135,
      "problem_letter": "H",
      "problem_id": 4926,
      "problem_name": "A-to-Z",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 135,
      "problem_letter": "I",
      "problem_id": 4927,
      "problem_name": "Casting Out Nines",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "A",
      "problem_id": 4928,
      "problem_name": "The Earth is Flat!",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "B",
      "problem_id": 4929,
      "problem_name": "수열 걷기",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "C",
      "problem_id": 4930,
      "problem_name": "Alpha of Degree k",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 136,
      "problem_letter": "D",
      "problem_id": 4931,
      "problem_name": "큐 소트",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 136,
      "problem_letter": "E",
      "problem_id": 4932,
      "problem_name": "Still Johnny Can’t Add",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "F",
      "problem_id": 4933,
      "problem_name": "뉴턴의 사과",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "tree",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "G",
      "problem_id": 4934,
      "problem_name": "The Euclidian Clock",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "H",
      "problem_id": 4935,
      "problem_name": "Chop Ahoy! Revisited!",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "backtracking",
        "dynamic programming"
      ],
      "tag_keys": [
        "backtracking",
        "dp"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "I",
      "problem_id": 4936,
      "problem_name": "What’s your Logo?",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "euler characteristic (χ=v-e+f)",
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "data_structures",
        "euler_characteristic",
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 136,
      "problem_letter": "J",
      "problem_id": 4937,
      "problem_name": "It’s All About Three",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 140,
      "problem_letter": "A",
      "problem_id": 4563,
      "problem_name": "리벤지 오브 피타고라스",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 140,
      "problem_letter": "B",
      "problem_id": 4564,
      "problem_name": "숫자 카드놀이",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 140,
      "problem_letter": "C",
      "problem_id": 4565,
      "problem_name": "Any Way You Slice It",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 140,
      "problem_letter": "D",
      "problem_id": 4566,
      "problem_name": "Is the Name of This Problem",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 140,
      "problem_letter": "E",
      "problem_id": 4567,
      "problem_name": "The Mark of a Wizard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 140,
      "problem_letter": "F",
      "problem_id": 4568,
      "problem_name": "LRU Caching",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 140,
      "problem_letter": "G",
      "problem_id": 4569,
      "problem_name": "Jugglefest",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 140,
      "problem_letter": "H",
      "problem_id": 4570,
      "problem_name": "Bounce",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 141,
      "problem_letter": "A",
      "problem_id": 4571,
      "problem_name": "Grade School Multiplication",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "mathematics",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 141,
      "problem_letter": "B",
      "problem_id": 4572,
      "problem_name": "Laser Tag",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 141,
      "problem_letter": "C",
      "problem_id": 4573,
      "problem_name": "Pizza Pricing",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 141,
      "problem_letter": "D",
      "problem_id": 4574,
      "problem_name": "스도미노쿠",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 141,
      "problem_letter": "E",
      "problem_id": 4575,
      "problem_name": "Refrigerator Magnets",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 141,
      "problem_letter": "F",
      "problem_id": 4576,
      "problem_name": "Shut the Box",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 141,
      "problem_letter": "G",
      "problem_id": 4577,
      "problem_name": "소코반",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 141,
      "problem_letter": "H",
      "problem_id": 4578,
      "problem_name": "Crash and Go(relians)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 142,
      "problem_letter": "A",
      "problem_id": 4579,
      "problem_name": "Judges' Time Calculation",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 142,
      "problem_letter": "B",
      "problem_id": 4580,
      "problem_name": "Mad Scientist",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 142,
      "problem_letter": "C",
      "problem_id": 4581,
      "problem_name": "Voting",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 142,
      "problem_letter": "D",
      "problem_id": 4582,
      "problem_name": "Queen Collisions",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 142,
      "problem_letter": "E",
      "problem_id": 4583,
      "problem_name": "거울상",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 142,
      "problem_letter": "F",
      "problem_id": 4584,
      "problem_name": "Top This",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 142,
      "problem_letter": "G",
      "problem_id": 4585,
      "problem_name": "Quick Search",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 142,
      "problem_letter": "H",
      "problem_id": 4586,
      "problem_name": "Image Compression",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 142,
      "problem_letter": "I",
      "problem_id": 4587,
      "problem_name": "이집트 분수",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "number theory",
        "simulation",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "number_theory",
        "simulation",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 143,
      "problem_letter": "A",
      "problem_id": 4588,
      "problem_name": "Up and Down",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 143,
      "problem_letter": "B",
      "problem_id": 4589,
      "problem_name": "Gnome Sequencing",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 143,
      "problem_letter": "C",
      "problem_id": 4590,
      "problem_name": "DuLL",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 143,
      "problem_letter": "D",
      "problem_id": 4591,
      "problem_name": "Black Vienna",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 143,
      "problem_letter": "E",
      "problem_id": 4592,
      "problem_name": "중복을 없애자",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 143,
      "problem_letter": "F",
      "problem_id": 4593,
      "problem_name": "Rock, Paper, Scissors",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 143,
      "problem_letter": "G",
      "problem_id": 4594,
      "problem_name": "A to Z Numerals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 143,
      "problem_letter": "H",
      "problem_id": 4595,
      "problem_name": "Cell Towers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 143,
      "problem_letter": "I",
      "problem_id": 4596,
      "problem_name": "RIPOFF",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 144,
      "problem_letter": "A",
      "problem_id": 4597,
      "problem_name": "패리티",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 144,
      "problem_letter": "B",
      "problem_id": 4598,
      "problem_name": "Lampyridae Teleportae",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 144,
      "problem_letter": "C",
      "problem_id": 4599,
      "problem_name": "Hex Tile Equations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 144,
      "problem_letter": "D",
      "problem_id": 4600,
      "problem_name": "정글의 법칙",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 144,
      "problem_letter": "E",
      "problem_id": 4601,
      "problem_name": "Bulletin Board",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 144,
      "problem_letter": "F",
      "problem_id": 4602,
      "problem_name": "Serial Numbers",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation",
        "case work",
        "offline queries"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation",
        "case_work",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 144,
      "problem_letter": "G",
      "problem_id": 4603,
      "problem_name": "Line & Circle Maze",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "floyd–warshall",
        "geometry",
        "graph theory",
        "implementation",
        "line segment intersection check",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "geometry",
        "graphs",
        "implementation",
        "line_intersection",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 144,
      "problem_letter": "H",
      "problem_id": 4604,
      "problem_name": "Steganography",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "A",
      "problem_id": 4605,
      "problem_name": "Typesetting",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "B",
      "problem_id": 4606,
      "problem_name": "The Seven Percent Solution",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "C",
      "problem_id": 4607,
      "problem_name": "Slink",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "D",
      "problem_id": 4608,
      "problem_name": "Persistent Bits",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bitmask",
        "implementation"
      ],
      "tag_keys": [
        "bitmask",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "E",
      "problem_id": 4609,
      "problem_name": "Here We Go(relians) Again",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dijkstra's",
        "graph theory",
        "parsing",
        "shortest path",
        "string"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "parsing",
        "shortest_path",
        "string"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "F",
      "problem_id": 4610,
      "problem_name": "Electronic Document Security",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 145,
      "problem_letter": "G",
      "problem_id": 4611,
      "problem_name": "Guard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 145,
      "problem_letter": "H",
      "problem_id": 4612,
      "problem_name": "Rock Skipping",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 146,
      "problem_letter": "A",
      "problem_id": 4613,
      "problem_name": "Quicksum",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 146,
      "problem_letter": "B",
      "problem_id": 4614,
      "problem_name": "Linear Pachinko",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "mathematics",
        "probability theory",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "probability",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 146,
      "problem_letter": "C",
      "problem_id": 1972,
      "problem_name": "놀라운 문자열",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 146,
      "problem_letter": "D",
      "problem_id": 4616,
      "problem_name": "Falling Ice",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 146,
      "problem_letter": "E",
      "problem_id": 4617,
      "problem_name": "Frugal Search",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 146,
      "problem_letter": "F",
      "problem_id": 4618,
      "problem_name": "Go Go Gorelians",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "geometry",
        "tree",
        "breadth-first search",
        "depth-first search",
        "geometry; 3d",
        "pythagoras theorem",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "geometry",
        "trees",
        "bfs",
        "dfs",
        "geometry_3d",
        "pythagoras",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 146,
      "problem_letter": "G",
      "problem_id": 4619,
      "problem_name": "루트",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "A",
      "problem_id": 4620,
      "problem_name": "Pascal's Travels",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "B",
      "problem_id": 4621,
      "problem_name": "Overflowing Bookshelf",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "implementation",
        "linked list",
        "simulation"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "linked_list",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "C",
      "problem_id": 4622,
      "problem_name": "Connect",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 147,
      "problem_letter": "D",
      "problem_id": 4623,
      "problem_name": "Copier Reduction",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "E",
      "problem_id": 4624,
      "problem_name": "Time to Graduate",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "topological sorting",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "topological_sorting",
        "dag"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "F",
      "problem_id": 4625,
      "problem_name": "Painter",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "greedy",
        "bruteforcing",
        "binary search",
        "simulation",
        "priority queue",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "greedy",
        "bruteforcing",
        "binary_search",
        "simulation",
        "priority_queue",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "G",
      "problem_id": 4626,
      "problem_name": "가글",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "H",
      "problem_id": 4627,
      "problem_name": "뛰어라 도마뱀",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 147,
      "problem_letter": "I",
      "problem_id": 4628,
      "problem_name": "Netiquette",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "A",
      "problem_id": 2363,
      "problem_name": "약수부분수열",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "recursion"
      ],
      "tag_keys": [
        "bruteforcing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "B",
      "problem_id": 4630,
      "problem_name": "Triangle Cuts",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "C",
      "problem_id": 4631,
      "problem_name": "Symmetric Order",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "D",
      "problem_id": 4632,
      "problem_name": "Flow Layout",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "E",
      "problem_id": 4633,
      "problem_name": "Permutation Code",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "F",
      "problem_id": 4634,
      "problem_name": "Ink Blots",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "combinatorics",
        "data structures",
        "depth-first search",
        "disjoint set",
        "geometry",
        "graph theory",
        "graph traversal",
        "line segment intersection check",
        "mathematics",
        "planar graph"
      ],
      "tag_keys": [
        "combinatorics",
        "data_structures",
        "dfs",
        "disjoint_set",
        "geometry",
        "graphs",
        "graph_traversal",
        "line_intersection",
        "math",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 148,
      "problem_letter": "G",
      "problem_id": 4635,
      "problem_name": "Speed Limit",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "A",
      "problem_id": 4636,
      "problem_name": "Clay Bully",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "B",
      "problem_id": 4637,
      "problem_name": "Robots",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "C",
      "problem_id": 4638,
      "problem_name": "Bright Bracelet",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "D",
      "problem_id": 4639,
      "problem_name": "Treadmill",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "E",
      "problem_id": 4640,
      "problem_name": "Data Mining?",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "simulation",
        "breadth-first search",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "simulation",
        "bfs",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "F",
      "problem_id": 4641,
      "problem_name": "Doubles",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "G",
      "problem_id": 4642,
      "problem_name": "Fax Regions",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "data structures",
        "case work",
        "disjoint set",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "case_work",
        "disjoint_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 149,
      "problem_letter": "H",
      "problem_id": 4643,
      "problem_name": "Tournament Brackets",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "A",
      "problem_id": 4644,
      "problem_name": "Programmer, Rank Thyself",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "B",
      "problem_id": 4645,
      "problem_name": "힐베르트 곡선",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "divide and conquer",
        "dynamic programming",
        "implementation",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "dp",
        "implementation",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "C",
      "problem_id": 4646,
      "problem_name": "Magnificent Meatballs",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "D",
      "problem_id": 4647,
      "problem_name": "Safecracker",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "E",
      "problem_id": 4648,
      "problem_name": "Oil Pipeline",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "F",
      "problem_id": 4649,
      "problem_name": "Tanning Salon",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "simulation",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "simulation",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 150,
      "problem_letter": "G",
      "problem_id": 4650,
      "problem_name": "Jungle Roads",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "A",
      "problem_id": 4651,
      "problem_name": "Transmitters",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "sorting",
        "geometry",
        "two-pointer"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "geometry",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "B",
      "problem_id": 4652,
      "problem_name": "W's Cipher",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "C",
      "problem_id": 4653,
      "problem_name": "Split Windows",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "parsing",
        "recursion",
        "string",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "recursion",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "D",
      "problem_id": 4654,
      "problem_name": "Index Generation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "E",
      "problem_id": 4655,
      "problem_name": "Hangover",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "F",
      "problem_id": 4656,
      "problem_name": "Double Vision",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 151,
      "problem_letter": "G",
      "problem_id": 4657,
      "problem_name": "Image Perimeters",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 152,
      "problem_letter": "A",
      "problem_id": 4658,
      "problem_name": "삼각형 게임",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 152,
      "problem_letter": "B",
      "problem_id": 4659,
      "problem_name": "비밀번호 발음하기",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 152,
      "problem_letter": "C",
      "problem_id": 4660,
      "problem_name": "Colorville",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 152,
      "problem_letter": "D",
      "problem_id": 4661,
      "problem_name": "Falling Leaves",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 152,
      "problem_letter": "E",
      "problem_id": 4662,
      "problem_name": "Edge Detection",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "data structures",
        "greedy",
        "set / map by hashing",
        "implementation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "greedy",
        "hash_set",
        "implementation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 152,
      "problem_letter": "F",
      "problem_id": 4663,
      "problem_name": "Instruens Fabulam",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 153,
      "problem_letter": "A",
      "problem_id": 4664,
      "problem_name": "Find the Winning Move",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "dynamic programming",
        "game theory",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "game_theory",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 153,
      "problem_letter": "B",
      "problem_id": 4665,
      "problem_name": "Myacm Triangles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "geometry",
        "point in convex polygon check",
        "area of a polygon"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "point_in_convex_polygon",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 153,
      "problem_letter": "C",
      "problem_id": 4666,
      "problem_name": "Exchange Rates",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "euclidean algorithm",
        "graph theory",
        "graph traversal",
        "implementation",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "euclidean",
        "graphs",
        "graph_traversal",
        "implementation",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 153,
      "problem_letter": "D",
      "problem_id": 4667,
      "problem_name": "Loansome Car Buyer",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 153,
      "problem_letter": "E",
      "problem_id": 4668,
      "problem_name": "Automatic Editing",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 153,
      "problem_letter": "F",
      "problem_id": 4669,
      "problem_name": "Robot Motion",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 154,
      "problem_letter": "A",
      "problem_id": 4670,
      "problem_name": "Booklet Printing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 154,
      "problem_letter": "B",
      "problem_id": 4671,
      "problem_name": "Finding Rectangles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 154,
      "problem_letter": "C",
      "problem_id": 4672,
      "problem_name": "Don't Get Rooked",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 154,
      "problem_letter": "D",
      "problem_id": 4673,
      "problem_name": "셀프 넘버",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 154,
      "problem_letter": "E",
      "problem_id": 4674,
      "problem_name": "Do the Untwist",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 154,
      "problem_letter": "F",
      "problem_id": 4675,
      "problem_name": "Word Amalgamation",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 155,
      "problem_letter": "A",
      "problem_id": 4677,
      "problem_name": "Oil Deposits",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 155,
      "problem_letter": "B",
      "problem_id": 4679,
      "problem_name": "The Snail",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 155,
      "problem_letter": "C",
      "problem_id": 4680,
      "problem_name": "Sum It Up",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "backtracking"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "set",
        "hash_set",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 155,
      "problem_letter": "D",
      "problem_id": 4678,
      "problem_name": "Skew Binary",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 155,
      "problem_letter": "E",
      "problem_id": 4676,
      "problem_name": "Haiku Review",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 155,
      "problem_letter": "F",
      "problem_id": 4681,
      "problem_name": "WIMP",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "A",
      "problem_id": 4682,
      "problem_name": "Polynomial Showdown",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "B",
      "problem_id": 4683,
      "problem_name": "The Doors",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "dijkstra's",
        "dynamic programming",
        "geometry",
        "graph theory",
        "line segment intersection check",
        "shortest path"
      ],
      "tag_keys": [
        "bruteforcing",
        "dijkstra",
        "dp",
        "geometry",
        "graphs",
        "line_intersection",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "C",
      "problem_id": 4684,
      "problem_name": "Mapmaker",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "D",
      "problem_id": 4685,
      "problem_name": "Board Silly",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "E",
      "problem_id": 4686,
      "problem_name": "Equation Elation",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "F",
      "problem_id": 4687,
      "problem_name": "Wheeler Caravans",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 156,
      "problem_letter": "G",
      "problem_id": 4688,
      "problem_name": "Another Puzzling Problem",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "1",
      "problem_id": 4691,
      "problem_name": "DNA Translation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "2",
      "problem_id": 4690,
      "problem_name": "완전 세제곱",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "3",
      "problem_id": 4694,
      "problem_name": "A Puzzling Problem",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "4",
      "problem_id": 4692,
      "problem_name": "Galactic Import",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "5",
      "problem_id": 4689,
      "problem_name": "Basically Speaking",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "6",
      "problem_id": 4695,
      "problem_name": "Letter Sequence Analysis",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 157,
      "problem_letter": "7",
      "problem_id": 4693,
      "problem_name": "Mark-up",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "A",
      "problem_id": 4697,
      "problem_name": "Fifty Coats of Gray",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "arithmetic",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "arithmetic",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "B",
      "problem_id": 4698,
      "problem_name": "부품 테스트",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "greedy",
        "sorting",
        "binary search",
        "prefix sum",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "sorting",
        "binary_search",
        "prefix_sum",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "C",
      "problem_id": 4699,
      "problem_name": "Collision Detection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 158,
      "problem_letter": "D",
      "problem_id": 4700,
      "problem_name": "Dueling Philosophers Problem",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "E",
      "problem_id": 4701,
      "problem_name": "Party Games",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "sorting",
        "case work"
      ],
      "tag_keys": [
        "string",
        "sorting",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "F",
      "problem_id": 4702,
      "problem_name": "Funhouse",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 158,
      "problem_letter": "G",
      "problem_id": 4703,
      "problem_name": "그림의 추측",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "constructive",
        "primality test",
        "bipartite matching",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "constructive",
        "primality_test",
        "bipartite_matching",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "H",
      "problem_id": 4704,
      "problem_name": "Tsunami",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "sorting",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "sorting",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 158,
      "problem_letter": "P",
      "problem_id": 4696,
      "problem_name": "St. Ives",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 159,
      "problem_letter": "A",
      "problem_id": 4706,
      "problem_name": "쌍둥이 역설",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "arithmetic",
        "mathematics"
      ],
      "tag_keys": [
        "arithmetic",
        "math"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 159,
      "problem_letter": "B",
      "problem_id": 4707,
      "problem_name": "Raggedy, Raggedy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "C",
      "problem_id": 4708,
      "problem_name": "AAAA",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "D",
      "problem_id": 4709,
      "problem_name": "Thunk and Plunk",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "E",
      "problem_id": 4710,
      "problem_name": "Losers Are Winners",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "F",
      "problem_id": 4711,
      "problem_name": "Line of Sight",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "G",
      "problem_id": 4712,
      "problem_name": "Stained Glass",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "H",
      "problem_id": 4713,
      "problem_name": "Road Rally",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 159,
      "problem_letter": "P",
      "problem_id": 4705,
      "problem_name": "Roaming Romans",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 160,
      "problem_letter": "A",
      "problem_id": 4096,
      "problem_name": "팰린드로미터",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "B",
      "problem_id": 4716,
      "problem_name": "풍선",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "C",
      "problem_id": 4717,
      "problem_name": "Selling Cells",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "geometry",
        "randomization"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "D",
      "problem_id": 4718,
      "problem_name": "Not One Bit More",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "E",
      "problem_id": 4719,
      "problem_name": "Abstract Extract",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "F",
      "problem_id": 4720,
      "problem_name": "Roller Coaster",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "G",
      "problem_id": 4721,
      "problem_name": "Spy Cam",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "H",
      "problem_id": 4722,
      "problem_name": "Underground Cables",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 160,
      "problem_letter": "P",
      "problem_id": 4714,
      "problem_name": "Lunacy",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "A",
      "problem_id": 4105,
      "problem_name": "유클리드",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "B",
      "problem_id": 4104,
      "problem_name": "Block Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 161,
      "problem_letter": "C",
      "problem_id": 4723,
      "problem_name": "Parlay Wagering",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics",
        "string"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math",
        "string"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "D",
      "problem_id": 4109,
      "problem_name": "The Ninja Way",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "shortest path",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "E",
      "problem_id": 4724,
      "problem_name": "Extended Manhattan Distance",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bruteforcing",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "F",
      "problem_id": 4110,
      "problem_name": "당구대",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "G",
      "problem_id": 4725,
      "problem_name": "Stringer",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "combinatorics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "combinatorics",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 161,
      "problem_letter": "H",
      "problem_id": 4726,
      "problem_name": "Word ladder",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "string",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 162,
      "problem_letter": "A",
      "problem_id": 4727,
      "problem_name": "Close Enough Computations",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 162,
      "problem_letter": "B",
      "problem_id": 4728,
      "problem_name": "I-Soar",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "priority queue",
        "sorting",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue",
        "sorting",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 162,
      "problem_letter": "C",
      "problem_id": 4729,
      "problem_name": "Trie, Again Trie",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 162,
      "problem_letter": "D",
      "problem_id": 4115,
      "problem_name": "Lawrence of Arabia",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 162,
      "problem_letter": "E",
      "problem_id": 4113,
      "problem_name": "Series / Parallel Resistor Circuits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "simulation",
        "physics"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "simulation",
        "physics"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 162,
      "problem_letter": "F",
      "problem_id": 4117,
      "problem_name": "Combination Lock",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 162,
      "problem_letter": "G",
      "problem_id": 4730,
      "problem_name": "Stems Sell",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 162,
      "problem_letter": "H",
      "problem_id": 4731,
      "problem_name": "Signal Strength",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 163,
      "problem_letter": "A",
      "problem_id": 4732,
      "problem_name": "조옮김",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 163,
      "problem_letter": "B",
      "problem_id": 4733,
      "problem_name": "Mobiles Alabama",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 163,
      "problem_letter": "C",
      "problem_id": 4734,
      "problem_name": "Out of Sight",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 163,
      "problem_letter": "D",
      "problem_id": 4735,
      "problem_name": "Witness Redaction Plan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 163,
      "problem_letter": "E",
      "problem_id": 4736,
      "problem_name": "Safety in Alchemy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 163,
      "problem_letter": "F",
      "problem_id": 4737,
      "problem_name": "Potholes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 163,
      "problem_letter": "G",
      "problem_id": 4738,
      "problem_name": "Bulls and Cows",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 163,
      "problem_letter": "H",
      "problem_id": 4739,
      "problem_name": "The Turn of the Shrew",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 164,
      "problem_letter": "A",
      "problem_id": 1849,
      "problem_name": "순열",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 164,
      "problem_letter": "B",
      "problem_id": 4742,
      "problem_name": "Crosswords Insider",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 164,
      "problem_letter": "C",
      "problem_id": 4743,
      "problem_name": "Doors and Penguins",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "convex hull",
        "geometry",
        "line segment intersection check",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry",
        "line_intersection",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 164,
      "problem_letter": "D",
      "problem_id": 4744,
      "problem_name": "Gypsy Moths",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "geometry",
        "two-pointer"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 164,
      "problem_letter": "E",
      "problem_id": 4745,
      "problem_name": "Marbles in Three Baskets",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 164,
      "problem_letter": "F",
      "problem_id": 4746,
      "problem_name": "Generic Units Conversion",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 164,
      "problem_letter": "G",
      "problem_id": 4747,
      "problem_name": "Zoned Out",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 164,
      "problem_letter": "H",
      "problem_id": 4748,
      "problem_name": "Shrew-ology",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "bruteforcing",
        "sorting",
        "case work"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "sorting",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 164,
      "problem_letter": "P",
      "problem_id": 4740,
      "problem_name": "거울, 오! 거울",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 165,
      "problem_letter": "A",
      "problem_id": 4749,
      "problem_name": "Take Your Vitamins",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 165,
      "problem_letter": "B",
      "problem_id": 4750,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 165,
      "problem_letter": "C",
      "problem_id": 4751,
      "problem_name": "Extrusion",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 165,
      "problem_letter": "D",
      "problem_id": 4752,
      "problem_name": "HTML 에디터",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "parsing",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "parsing",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 165,
      "problem_letter": "E",
      "problem_id": 4753,
      "problem_name": "Mobiles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 165,
      "problem_letter": "F",
      "problem_id": 4754,
      "problem_name": "Context-Free Clock",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 165,
      "problem_letter": "G",
      "problem_id": 4755,
      "problem_name": "Right-Hand Rule",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 165,
      "problem_letter": "H",
      "problem_id": 4756,
      "problem_name": "WordStack",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "bitmask",
        "bruteforcing",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "bruteforcing",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 166,
      "problem_letter": "A",
      "problem_id": 4758,
      "problem_name": "Filling Out the Team",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 166,
      "problem_letter": "B",
      "problem_id": 4759,
      "problem_name": "Auctions R Us",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 166,
      "problem_letter": "C",
      "problem_id": 4760,
      "problem_name": "GHOST",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 166,
      "problem_letter": "D",
      "problem_id": 4761,
      "problem_name": "Doggone Moles",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 166,
      "problem_letter": "E",
      "problem_id": 4762,
      "problem_name": "Line of Sight",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 166,
      "problem_letter": "F",
      "problem_id": 4763,
      "problem_name": "Tangled in Cables",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "data structures",
        "set / map",
        "set / map by hashing",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "set",
        "hash_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 166,
      "problem_letter": "G",
      "problem_id": 4764,
      "problem_name": "All Roads Lead to Albuquerque, er, Rome",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 166,
      "problem_letter": "H",
      "problem_id": 4765,
      "problem_name": "Balanced Budget Initiative",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 166,
      "problem_letter": "P",
      "problem_id": 4757,
      "problem_name": "A Contesting Decision",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 167,
      "problem_letter": "A",
      "problem_id": 4757,
      "problem_name": "A Contesting Decision",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 167,
      "problem_letter": "B",
      "problem_id": 4767,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 167,
      "problem_letter": "C",
      "problem_id": 4768,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 167,
      "problem_letter": "D",
      "problem_id": 4769,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 167,
      "problem_letter": "E",
      "problem_id": 4770,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 167,
      "problem_letter": "F",
      "problem_id": 4771,
      "problem_name": "아름다운 삼각형",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 167,
      "problem_letter": "G",
      "problem_id": 4772,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 167,
      "problem_letter": "H",
      "problem_id": 4773,
      "problem_name": "Reverse Roman Notation",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "simulation",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "simulation",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 167,
      "problem_letter": "P",
      "problem_id": 4766,
      "problem_name": "일반 화학 실험",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "A",
      "problem_id": 4766,
      "problem_name": "일반 화학 실험",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "C",
      "problem_id": 4775,
      "problem_name": "Spelling Be",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "D",
      "problem_id": 4776,
      "problem_name": "Apply a Cold Compress",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "euclidean algorithm",
        "implementation",
        "mathematics",
        "number theory",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "euclidean",
        "implementation",
        "math",
        "number_theory",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "E",
      "problem_id": 4777,
      "problem_name": "A Baron Landscape",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 168,
      "problem_letter": "F",
      "problem_id": 4778,
      "problem_name": "In Defence of a Garden",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "flood-fill",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "flood_fill",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "G",
      "problem_id": 4779,
      "problem_name": "칸토어 집합",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "H",
      "problem_id": 4780,
      "problem_name": "Chambers Ceramic Conundrum",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 168,
      "problem_letter": "P",
      "problem_id": 4774,
      "problem_name": "Financial Management",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "1",
      "problem_id": 4812,
      "problem_name": "Robot Navigation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "2",
      "problem_id": 4506,
      "problem_name": "All Your Base",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "arbitrary precision / big integers",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "3",
      "problem_id": 4507,
      "problem_name": "단어와 주기율표",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "4",
      "problem_id": 4508,
      "problem_name": "This is Halloween: Saving Money",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "string",
        "geometry",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "geometry",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "5",
      "problem_id": 4509,
      "problem_name": "Coffin Tiles",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "6",
      "problem_id": 4510,
      "problem_name": "Thinking Inside the Box",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 169,
      "problem_letter": "7",
      "problem_id": 4511,
      "problem_name": "Lightbulb Testing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 169,
      "problem_letter": "8",
      "problem_id": 4512,
      "problem_name": "Operation: Merchant Boorinei",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 170,
      "problem_letter": "1",
      "problem_id": 4513,
      "problem_name": "The Neptune Adventure",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 170,
      "problem_letter": "2",
      "problem_id": 4514,
      "problem_name": "Phil In the Blanks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 170,
      "problem_letter": "3",
      "problem_id": 4515,
      "problem_name": "Honeycomb, Honeycomb, Me Want Honeycomb!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 170,
      "problem_letter": "4",
      "problem_id": 4516,
      "problem_name": "YO!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 170,
      "problem_letter": "5",
      "problem_id": 4517,
      "problem_name": "Barcode of Judgment",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 170,
      "problem_letter": "6",
      "problem_id": 4518,
      "problem_name": "Frenemies",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 170,
      "problem_letter": "7",
      "problem_id": 4519,
      "problem_name": "Know When to Hold Them",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 170,
      "problem_letter": "8",
      "problem_id": 4520,
      "problem_name": "I'm Attacking the Darkness!",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 171,
      "problem_letter": "1",
      "problem_id": 4521,
      "problem_name": "Rank and File",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 171,
      "problem_letter": "2",
      "problem_id": 4522,
      "problem_name": "The Extent of the Problem",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 171,
      "problem_letter": "3",
      "problem_id": 4523,
      "problem_name": "Filtration",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 171,
      "problem_letter": "4",
      "problem_id": 4524,
      "problem_name": "Like Water for Clay",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 171,
      "problem_letter": "5",
      "problem_id": 4525,
      "problem_name": "Wandering Aimlessly",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 171,
      "problem_letter": "6",
      "problem_id": 4526,
      "problem_name": "Cables ... in Spaaace!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "geometry",
        "minimum spanning tree",
        "geometry; 3d"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "mst",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 171,
      "problem_letter": "7",
      "problem_id": 4527,
      "problem_name": "Patterns and Pictures",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 171,
      "problem_letter": "8",
      "problem_id": 4528,
      "problem_name": "No Wormholes Were Harmed...",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 171,
      "problem_letter": "9",
      "problem_id": 4529,
      "problem_name": "Tribute (Editor)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 172,
      "problem_letter": "1",
      "problem_id": 4530,
      "problem_name": "1은 흥미로운 숫자",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 172,
      "problem_letter": "2",
      "problem_id": 4531,
      "problem_name": "Verdis Quo",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 172,
      "problem_letter": "3",
      "problem_id": 4532,
      "problem_name": "The Screen Behind the Mirror",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 172,
      "problem_letter": "4",
      "problem_id": 4533,
      "problem_name": "Another Brick in the Wall",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dijkstra's",
        "planar graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dijkstra",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 172,
      "problem_letter": "5",
      "problem_id": 4534,
      "problem_name": "The Sidewinder Sleeps Tonite",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 172,
      "problem_letter": "6",
      "problem_id": 4535,
      "problem_name": "Rout 66",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 172,
      "problem_letter": "7",
      "problem_id": 4536,
      "problem_name": "Schottkey 7th Path",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 172,
      "problem_letter": "8",
      "problem_id": 4537,
      "problem_name": "Another Version of the Truth",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 172,
      "problem_letter": "9",
      "problem_id": 4538,
      "problem_name": "The Final Countdown",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 173,
      "problem_letter": "1",
      "problem_id": 4539,
      "problem_name": "반올림",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 173,
      "problem_letter": "2",
      "problem_id": 4540,
      "problem_name": "Q",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 173,
      "problem_letter": "3",
      "problem_id": 4541,
      "problem_name": "Enigmatologically Cruciverbalistic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 173,
      "problem_letter": "4",
      "problem_id": 4542,
      "problem_name": "Blue Jeans",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 173,
      "problem_letter": "5",
      "problem_id": 4543,
      "problem_name": "Core Wars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 173,
      "problem_letter": "6",
      "problem_id": 4544,
      "problem_name": "'Roid Rage",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 173,
      "problem_letter": "7",
      "problem_id": 4545,
      "problem_name": "Children of the Candy Corn",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 173,
      "problem_letter": "8",
      "problem_id": 4546,
      "problem_name": "Panic Room",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 174,
      "problem_letter": "1",
      "problem_id": 4547,
      "problem_name": "Plinko",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 174,
      "problem_letter": "2",
      "problem_id": 4548,
      "problem_name": "Defining Moment",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "case work"
      ],
      "tag_keys": [
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 174,
      "problem_letter": "3",
      "problem_id": 4549,
      "problem_name": "Jetpack Sniper 3000 Fragfest Extreme",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 174,
      "problem_letter": "4",
      "problem_id": 4550,
      "problem_name": "Pegs",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "data structures",
        "dynamic programming"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 174,
      "problem_letter": "5",
      "problem_id": 4551,
      "problem_name": "Janken Tactics",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 174,
      "problem_letter": "6",
      "problem_id": 4552,
      "problem_name": "Bingo!",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 174,
      "problem_letter": "7",
      "problem_id": 4553,
      "problem_name": "Artificial Strife",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 174,
      "problem_letter": "8",
      "problem_id": 4554,
      "problem_name": "It's My Derivative",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "calculus",
        "case work",
        "implementation",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "calculus",
        "case_work",
        "implementation",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "1",
      "problem_id": 4555,
      "problem_name": "MisLED",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "bitmask",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "bitmask",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "2",
      "problem_id": 4556,
      "problem_name": "Relative Relatives",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "data structures",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "dfs",
        "graphs",
        "graph_traversal",
        "hash_set",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "3",
      "problem_id": 4557,
      "problem_name": "Syntax Included",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "parsing",
        "regular expression",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "parsing",
        "regex",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "4",
      "problem_id": 4558,
      "problem_name": "Choose Your Own Adventure",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 175,
      "problem_letter": "5",
      "problem_id": 4559,
      "problem_name": "Know When to Hold 'em",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "6",
      "problem_id": 4560,
      "problem_name": "Cubic Rube",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "7",
      "problem_id": 4561,
      "problem_name": "As the Crow Flies",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "graph theory",
        "geometry",
        "tree",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "geometry",
        "trees",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 175,
      "problem_letter": "8",
      "problem_id": 4562,
      "problem_name": "No Brainer",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "A",
      "problem_id": 4781,
      "problem_name": "사탕 가게",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "B",
      "problem_id": 4699,
      "problem_name": "Collision Detection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 176,
      "problem_letter": "C",
      "problem_id": 4698,
      "problem_name": "부품 테스트",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "greedy",
        "sorting",
        "binary search",
        "prefix sum",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "sorting",
        "binary_search",
        "prefix_sum",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "D",
      "problem_id": 4782,
      "problem_name": "분수 뺄셈",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "E",
      "problem_id": 4702,
      "problem_name": "Funhouse",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 176,
      "problem_letter": "F",
      "problem_id": 4703,
      "problem_name": "그림의 추측",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "constructive",
        "primality test",
        "bipartite matching",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "constructive",
        "primality_test",
        "bipartite_matching",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "G",
      "problem_id": 4783,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 176,
      "problem_letter": "H",
      "problem_id": 4704,
      "problem_name": "Tsunami",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "sorting",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "sorting",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "I",
      "problem_id": 4784,
      "problem_name": "Unhappy Numbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 176,
      "problem_letter": "J",
      "problem_id": 4785,
      "problem_name": "Walls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 177,
      "problem_letter": "A",
      "problem_id": 4081,
      "problem_name": "Sunday Drive",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 177,
      "problem_letter": "B",
      "problem_id": 4082,
      "problem_name": "Hexagram",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 177,
      "problem_letter": "C",
      "problem_id": 4083,
      "problem_name": "직사각형 만들기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking",
        "precomputation",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking",
        "precomputation",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 177,
      "problem_letter": "D",
      "problem_id": 4084,
      "problem_name": "Viva la Diferencia",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 177,
      "problem_letter": "E",
      "problem_id": 4085,
      "problem_name": "Robot Navigation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 177,
      "problem_letter": "F",
      "problem_id": 4086,
      "problem_name": "Folding Game",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 177,
      "problem_letter": "G",
      "problem_id": 4087,
      "problem_name": "Burnout",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 177,
      "problem_letter": "H",
      "problem_id": 4088,
      "problem_name": "Family Fortune",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "recursion",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "recursion",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 177,
      "problem_letter": "I",
      "problem_id": 4089,
      "problem_name": "Moving Points",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 177,
      "problem_letter": "J",
      "problem_id": 4090,
      "problem_name": "뱀파이어 숫자",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "binary search",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "binary_search",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "A",
      "problem_id": 4091,
      "problem_name": "Balloons",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "B",
      "problem_id": 4092,
      "problem_name": "비트 개수 세기",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "C",
      "problem_id": 4093,
      "problem_name": "Data Recovery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 178,
      "problem_letter": "D",
      "problem_id": 4094,
      "problem_name": "Equal Angles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "E",
      "problem_id": 4095,
      "problem_name": "최대 정사각형",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "F",
      "problem_id": 4096,
      "problem_name": "팰린드로미터",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "G",
      "problem_id": 4097,
      "problem_name": "수익",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming",
        "maximum subarray"
      ],
      "tag_keys": [
        "dp",
        "maximum_subarray"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "maximum_subarray",
          "name": "maximum subarray",
          "boj_tag_id": 234
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "H",
      "problem_id": 4098,
      "problem_name": "Roller Coaster",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "I",
      "problem_id": 4099,
      "problem_name": "Skyline",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 178,
      "problem_letter": "J",
      "problem_id": 4100,
      "problem_name": "Underground Cables",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "geometry",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "A",
      "problem_id": 4104,
      "problem_name": "Block Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 179,
      "problem_letter": "B",
      "problem_id": 4105,
      "problem_name": "유클리드",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "C",
      "problem_id": 4106,
      "problem_name": "Museum Guards",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "D",
      "problem_id": 4107,
      "problem_name": "Knitting",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "E",
      "problem_id": 4108,
      "problem_name": "지뢰찾기",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "F",
      "problem_id": 4109,
      "problem_name": "The Ninja Way",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "shortest path",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "G",
      "problem_id": 4110,
      "problem_name": "당구대",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "H",
      "problem_id": 4111,
      "problem_name": "Robot Challenge",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "I",
      "problem_id": 4112,
      "problem_name": "Mosaic",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "precomputation"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "PA",
      "problem_id": 4101,
      "problem_name": "크냐?",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 179,
      "problem_letter": "PB",
      "problem_id": 4102,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 179,
      "problem_letter": "PC",
      "problem_id": 4103,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 180,
      "problem_letter": "A",
      "problem_id": 4113,
      "problem_name": "Series / Parallel Resistor Circuits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "simulation",
        "physics"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "simulation",
        "physics"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "B",
      "problem_id": 4114,
      "problem_name": "The Heart of the Country",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "C",
      "problem_id": 4115,
      "problem_name": "Lawrence of Arabia",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "D",
      "problem_id": 4116,
      "problem_name": "Shoring Up the Levees",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "line segment intersection check",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "E",
      "problem_id": 4117,
      "problem_name": "Combination Lock",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "F",
      "problem_id": 4118,
      "problem_name": "Fred’s Lotto Tickets",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "G",
      "problem_id": 4119,
      "problem_name": "A No-Win Situation",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy",
        "string",
        "bruteforcing",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string",
        "bruteforcing",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "H",
      "problem_id": 4120,
      "problem_name": "A Walk in the Park",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "sorting",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "I",
      "problem_id": 4121,
      "problem_name": "Teleport Out!",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "breadth-first search",
        "binary search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "binary_search",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 180,
      "problem_letter": "J",
      "problem_id": 4122,
      "problem_name": "Worms",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "A",
      "problem_id": 4796,
      "problem_name": "캠핑",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "B",
      "problem_id": 4797,
      "problem_name": "화학",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "C",
      "problem_id": 4798,
      "problem_name": "등차수열에 관한 디리클레의 정리",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "extended euclidean algorithm",
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "extended_euclidean",
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "D",
      "problem_id": 4799,
      "problem_name": "Fuel Stops",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "E",
      "problem_id": 4800,
      "problem_name": "대충 정렬",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "bit set",
        "bruteforcing",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "bitset",
        "bruteforcing",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "F",
      "problem_id": 4801,
      "problem_name": "Nine",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "case work",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "G",
      "problem_id": 4802,
      "problem_name": "함수 오버로딩",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "dynamic programming",
        "dynamic programming on trees",
        "implementation",
        "parsing",
        "string",
        "tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "dp",
        "dp_tree",
        "implementation",
        "parsing",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "H",
      "problem_id": 4803,
      "problem_name": "트리",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "I",
      "problem_id": 4804,
      "problem_name": "Catching Shade in Flatland",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 181,
      "problem_letter": "J",
      "problem_id": 4805,
      "problem_name": "Emergency Room",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 181,
      "problem_letter": "P",
      "problem_id": 4806,
      "problem_name": "줄 세기",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "A",
      "problem_id": 4807,
      "problem_name": "Iterated Difference",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "B",
      "problem_id": 4808,
      "problem_name": "Shape Number",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "hashing",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "hashing",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "C",
      "problem_id": 4809,
      "problem_name": "Stock Prices",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "D",
      "problem_id": 4810,
      "problem_name": "Contour Tracing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "E",
      "problem_id": 4811,
      "problem_name": "알약",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "F",
      "problem_id": 4812,
      "problem_name": "Robot Navigation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "G",
      "problem_id": 4813,
      "problem_name": "User Names",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "H",
      "problem_id": 4814,
      "problem_name": "Citizenship Application",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "case work",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "I",
      "problem_id": 4815,
      "problem_name": "Wealthy Family",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 182,
      "problem_letter": "J",
      "problem_id": 4816,
      "problem_name": "Supply Mission",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "physics"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "A",
      "problem_id": 4817,
      "problem_name": "괄호",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "B",
      "problem_id": 4818,
      "problem_name": "Ropes",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "C",
      "problem_id": 4819,
      "problem_name": "Chain Code",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "pick's theorem"
      ],
      "tag_keys": [
        "geometry",
        "pick"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pick",
          "name": "pick's theorem",
          "boj_tag_id": 187
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "D",
      "problem_id": 4820,
      "problem_name": "Task",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "string",
        "shortest path",
        "parsing",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "shortest_path",
        "parsing",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "E",
      "problem_id": 4821,
      "problem_name": "페이지 세기",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "F",
      "problem_id": 4822,
      "problem_name": "축구",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "implementation",
        "sorting",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "data_structures",
        "hash_set",
        "implementation",
        "sorting",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "G",
      "problem_id": 4823,
      "problem_name": "Railroad",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 183,
      "problem_letter": "H",
      "problem_id": 4824,
      "problem_name": "Post Office",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 183,
      "problem_letter": "I",
      "problem_id": 4825,
      "problem_name": "Aronson",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 184,
      "problem_letter": "A",
      "problem_id": 4826,
      "problem_name": "Range",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 184,
      "problem_letter": "B",
      "problem_id": 4827,
      "problem_name": "Coverage",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 184,
      "problem_letter": "C",
      "problem_id": 4828,
      "problem_name": "XML",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "parsing",
        "stack",
        "regular expression"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "parsing",
        "stack",
        "regex"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 184,
      "problem_letter": "D",
      "problem_id": 4829,
      "problem_name": "Clickomania",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 184,
      "problem_letter": "E",
      "problem_id": 4830,
      "problem_name": "Balance",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 184,
      "problem_letter": "F",
      "problem_id": 4831,
      "problem_name": "Resistors",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "parsing",
        "stack",
        "physics"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "parsing",
        "stack",
        "physics"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 184,
      "problem_letter": "G",
      "problem_id": 4832,
      "problem_name": "Shuffling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 184,
      "problem_letter": "H",
      "problem_id": 4833,
      "problem_name": "Papa",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 184,
      "problem_letter": "I",
      "problem_id": 4834,
      "problem_name": "Wax",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 185,
      "problem_letter": "A",
      "problem_id": 4117,
      "problem_name": "Combination Lock",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "B",
      "problem_id": 4115,
      "problem_name": "Lawrence of Arabia",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "C",
      "problem_id": 4727,
      "problem_name": "Close Enough Computations",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "D",
      "problem_id": 4835,
      "problem_name": "Walk in the Park",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "precomputation",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "precomputation",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "E",
      "problem_id": 4836,
      "problem_name": "춤",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "F",
      "problem_id": 4837,
      "problem_name": "Trucking",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "parametric search"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "G",
      "problem_id": 4838,
      "problem_name": "When",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "H",
      "problem_id": 4839,
      "problem_name": "소진법",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 185,
      "problem_letter": "R",
      "problem_id": 4998,
      "problem_name": "저금",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "A",
      "problem_id": 4840,
      "problem_name": "Tree Grafting",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "depth-first search",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "B",
      "problem_id": 4841,
      "problem_name": "Look and Say",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "C",
      "problem_id": 4842,
      "problem_name": "Server Relocation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "D",
      "problem_id": 4843,
      "problem_name": "Coin Toss",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "E",
      "problem_id": 4844,
      "problem_name": "Vacation Rentals",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "0-1 bfs",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "0_1_bfs",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "F",
      "problem_id": 4845,
      "problem_name": "Baseball",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "G",
      "problem_id": 4846,
      "problem_name": "Team Work",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "H",
      "problem_id": 4847,
      "problem_name": "Wavelet Compression",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 186,
      "problem_letter": "I",
      "problem_id": 4848,
      "problem_name": "집합 숫자 표기법",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "string",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "A",
      "problem_id": 4849,
      "problem_name": "Bridge Bidding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "B",
      "problem_id": 4850,
      "problem_name": "Baskets of Gold Coins",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "C",
      "problem_id": 4851,
      "problem_name": "Toothpick Arithmetic",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "D",
      "problem_id": 1847,
      "problem_name": "볼록다각형 만들기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "sorting",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "sorting",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "E",
      "problem_id": 1849,
      "problem_name": "순열",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "F",
      "problem_id": 4745,
      "problem_name": "Marbles in Three Baskets",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 187,
      "problem_letter": "G",
      "problem_id": 4743,
      "problem_name": "Doors and Penguins",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "convex hull",
        "geometry",
        "line segment intersection check",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry",
        "line_intersection",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "H",
      "problem_id": 4853,
      "problem_name": "Knots",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 187,
      "problem_letter": "I",
      "problem_id": 4854,
      "problem_name": "String Equations",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "string",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "string",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "A",
      "problem_id": 4855,
      "problem_name": "Tire Dimensions",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "B",
      "problem_id": 4856,
      "problem_name": "Random Walk",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "sorting",
        "ad-hoc",
        "geometry",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc",
        "geometry",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "C",
      "problem_id": 4857,
      "problem_name": "Paint Mix",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "D",
      "problem_id": 4858,
      "problem_name": "Open and Close",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 188,
      "problem_letter": "E",
      "problem_id": 4859,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 188,
      "problem_letter": "F",
      "problem_id": 4860,
      "problem_name": "Smallest Difference",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "G",
      "problem_id": 4861,
      "problem_name": "Faulty Odometer",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "H",
      "problem_id": 4862,
      "problem_name": "마지막 자리",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 188,
      "problem_letter": "I",
      "problem_id": 4863,
      "problem_name": "Suit Distribution",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 189,
      "problem_letter": "A",
      "problem_id": 4864,
      "problem_name": "Gold Coins",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 189,
      "problem_letter": "B",
      "problem_id": 4865,
      "problem_name": "Shortest Prefixes",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 189,
      "problem_letter": "C",
      "problem_id": 4866,
      "problem_name": "Squares",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "data structures",
        "geometry",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "geometry",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 189,
      "problem_letter": "D",
      "problem_id": 4867,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 189,
      "problem_letter": "E",
      "problem_id": 4868,
      "problem_name": "Mix and Build",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "string"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 189,
      "problem_letter": "F",
      "problem_id": 4869,
      "problem_name": "Blackjack",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 189,
      "problem_letter": "G",
      "problem_id": 4870,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 189,
      "problem_letter": "H",
      "problem_id": 4871,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 190,
      "problem_letter": "A",
      "problem_id": 4872,
      "problem_name": "SPIN",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 190,
      "problem_letter": "B",
      "problem_id": 4873,
      "problem_name": "SHAKE",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 190,
      "problem_letter": "C",
      "problem_id": 4874,
      "problem_name": "TOYS",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 190,
      "problem_letter": "D",
      "problem_id": 4875,
      "problem_name": "COMPRESS",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 190,
      "problem_letter": "E",
      "problem_id": 4876,
      "problem_name": "SHEET",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 190,
      "problem_letter": "F",
      "problem_id": 4877,
      "problem_name": "GYM",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 190,
      "problem_letter": "G",
      "problem_id": 4878,
      "problem_name": "PLANKS",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 190,
      "problem_letter": "H",
      "problem_id": 4879,
      "problem_name": "PERMS",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "A",
      "problem_id": 3825,
      "problem_name": "은행수",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "B",
      "problem_id": 3826,
      "problem_name": "스타일리시",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "C",
      "problem_id": 3827,
      "problem_name": "일차원 세포 자동자",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "exponentiation by squaring",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "D",
      "problem_id": 3828,
      "problem_name": "잘못된 계산",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "E",
      "problem_id": 3829,
      "problem_name": "Sliding Block Puzzle",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "breadth-first search",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "implementation",
        "shortest path"
      ],
      "tag_keys": [
        "bfs",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "implementation",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "F",
      "problem_id": 3830,
      "problem_name": "교수님은 기다리지 않는다",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "G",
      "problem_id": 3831,
      "problem_name": "Let There Be Light",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "geometry; 3d",
        "bit set"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "H",
      "problem_id": 3832,
      "problem_name": "Company Organization",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 191,
      "problem_letter": "I",
      "problem_id": 3833,
      "problem_name": "아름다운 레이아웃",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "binary search",
        "prefix sum",
        "parametric search",
        "two-pointer"
      ],
      "tag_keys": [
        "dp",
        "binary_search",
        "prefix_sum",
        "parametric_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 191,
      "problem_letter": "J",
      "problem_id": 3834,
      "problem_name": "Cubic Colonies",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 192,
      "problem_letter": "A",
      "problem_id": 4938,
      "problem_name": "Gift from the Goddess of Programming",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 192,
      "problem_letter": "B",
      "problem_id": 4939,
      "problem_name": "The Sorcerer’s Donut",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 192,
      "problem_letter": "C",
      "problem_id": 4940,
      "problem_name": "Weaker than Planned",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 192,
      "problem_letter": "D",
      "problem_id": 4941,
      "problem_name": "Long Distance Taxi",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "dijkstra's",
        "graph theory",
        "set / map by hashing",
        "set / map by trees",
        "shortest path",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dijkstra",
        "graphs",
        "hash_set",
        "tree_set",
        "shortest_path",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 192,
      "problem_letter": "E",
      "problem_id": 4942,
      "problem_name": "Driving an Icosahedral Rover",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 192,
      "problem_letter": "F",
      "problem_id": 4943,
      "problem_name": "City Merger",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 192,
      "problem_letter": "G",
      "problem_id": 4944,
      "problem_name": "Captain Q’s Treasure",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 192,
      "problem_letter": "H",
      "problem_id": 4945,
      "problem_name": "ASCII Expression",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 192,
      "problem_letter": "I",
      "problem_id": 4946,
      "problem_name": "Encircling Circles",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "case work",
        "boolean operations on geometric objects"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "case_work",
        "geometric_boolean_operations"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        }
      ]
    },
    {
      "contest_id": 192,
      "problem_letter": "J",
      "problem_id": 4947,
      "problem_name": "Round Trip",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 193,
      "problem_letter": "A",
      "problem_id": 3865,
      "problem_name": "학회원",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "graph theory",
        "string",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "depth-first search",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "string",
        "graph_traversal",
        "set",
        "bfs",
        "dfs",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 193,
      "problem_letter": "B",
      "problem_id": 3866,
      "problem_name": "풍선 수집",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 193,
      "problem_letter": "C",
      "problem_id": 3867,
      "problem_name": "고속도로 위의 마을",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 193,
      "problem_letter": "D",
      "problem_id": 3868,
      "problem_name": "Awkward Lights",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 193,
      "problem_letter": "E",
      "problem_id": 3869,
      "problem_name": "The Two Men of the Japanese Alps",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 193,
      "problem_letter": "F",
      "problem_id": 3870,
      "problem_name": "Find the Multiples",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "number theory",
        "set / map",
        "prefix sum",
        "combinatorics",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "number_theory",
        "set",
        "prefix_sum",
        "combinatorics",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 193,
      "problem_letter": "G",
      "problem_id": 3871,
      "problem_name": "Test Case Tweaking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 193,
      "problem_letter": "H",
      "problem_id": 3872,
      "problem_name": "Where’s Wally",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 193,
      "problem_letter": "I",
      "problem_id": 3873,
      "problem_name": "Intersection of Two Prisms",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "calculus",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "calculus",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 193,
      "problem_letter": "J",
      "problem_id": 3874,
      "problem_name": "Matrix Calculator",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "A",
      "problem_id": 3875,
      "problem_name": "Cubist Artwork",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "B",
      "problem_id": 3876,
      "problem_name": "sed 이용",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "string",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "string",
        "graph_traversal",
        "set",
        "bfs",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "C",
      "problem_id": 3877,
      "problem_name": "Swimming Jam",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 194,
      "problem_letter": "D",
      "problem_id": 3878,
      "problem_name": "점 분리",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "convex hull",
        "line segment intersection check",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "line_intersection",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "E",
      "problem_id": 3879,
      "problem_name": "Origami Through-Hole",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 194,
      "problem_letter": "F",
      "problem_id": 3880,
      "problem_name": "화학자의 수학",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "euclidean algorithm",
        "gaussian elimination",
        "linear algebra",
        "mathematics",
        "number theory",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "euclidean",
        "gaussian_elimination",
        "linear_algebra",
        "math",
        "number_theory",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "G",
      "problem_id": 3881,
      "problem_name": "말파티 원",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "H",
      "problem_id": 3882,
      "problem_name": "스무고개",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 194,
      "problem_letter": "I",
      "problem_id": 3883,
      "problem_name": "Hobby on Rails",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 194,
      "problem_letter": "J",
      "problem_id": 3884,
      "problem_name": "Infected Land",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 195,
      "problem_letter": "A",
      "problem_id": 3885,
      "problem_name": "회색 영역",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 195,
      "problem_letter": "B",
      "problem_id": 3886,
      "problem_name": "Expected Allowance",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 195,
      "problem_letter": "C",
      "problem_id": 3887,
      "problem_name": "Stopped Watches",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 195,
      "problem_letter": "D",
      "problem_id": 3888,
      "problem_name": "Digits on the Floor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 195,
      "problem_letter": "E",
      "problem_id": 3889,
      "problem_name": "구면 거울",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 195,
      "problem_letter": "F",
      "problem_id": 3890,
      "problem_name": "Traveling Cube",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 195,
      "problem_letter": "G",
      "problem_id": 3891,
      "problem_name": "키워드 검색",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "string",
        "bitmask",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "string",
        "bitmask",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 195,
      "problem_letter": "H",
      "problem_id": 3892,
      "problem_name": "Top Spinning",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 195,
      "problem_letter": "I",
      "problem_id": 3893,
      "problem_name": "공통 다항식",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "case work",
        "parsing",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "case_work",
        "parsing",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 195,
      "problem_letter": "J",
      "problem_id": 3894,
      "problem_name": "지그재그",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory",
        "geometry",
        "bitmask",
        "shortest path",
        "dijkstra's",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "geometry",
        "bitmask",
        "shortest_path",
        "dijkstra",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "A",
      "problem_id": 3895,
      "problem_name": "그리고 하나가 남았다",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "B",
      "problem_id": 3896,
      "problem_name": "소수 사이 수열",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "binary search",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "binary_search",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "C",
      "problem_id": 3897,
      "problem_name": "Minimal Backgammon",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "implementation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "D",
      "problem_id": 3898,
      "problem_name": "Lowest Pyramid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 196,
      "problem_letter": "E",
      "problem_id": 3899,
      "problem_name": "도로 지도",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 196,
      "problem_letter": "F",
      "problem_id": 3900,
      "problem_name": "Slim Span",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "minimum spanning tree",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "mst",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "G",
      "problem_id": 3901,
      "problem_name": "The Morning after Halloween",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "H",
      "problem_id": 3902,
      "problem_name": "Bug Hunt",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "parsing",
        "stack",
        "recursion"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set",
        "parsing",
        "stack",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "I",
      "problem_id": 3903,
      "problem_name": "제주도",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "binary search",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 196,
      "problem_letter": "J",
      "problem_id": 3904,
      "problem_name": "The Teacher's Side of Math",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "number theory",
        "linear algebra",
        "gaussian elimination",
        "polynomial interpolation"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "linear_algebra",
        "gaussian_elimination",
        "polynomial_interpolation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "polynomial_interpolation",
          "name": "polynomial interpolation",
          "boj_tag_id": 209
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "A",
      "problem_id": 3905,
      "problem_name": "How I Wonder What You Are!",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "B",
      "problem_id": 3906,
      "problem_name": "How I Mathematician Wonder What You Are!",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "C",
      "problem_id": 3907,
      "problem_name": "정육면체 8퍼즐",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "meet in the middle"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "D",
      "problem_id": 3908,
      "problem_name": "서로 다른 소수의 합",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "E",
      "problem_id": 3909,
      "problem_name": "맨하탄 배선",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "F",
      "problem_id": 3910,
      "problem_name": "거듭제곱 계산",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "backtracking",
        "precomputation"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "backtracking",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 197,
      "problem_letter": "G",
      "problem_id": 3911,
      "problem_name": "Polygons on the Grid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 197,
      "problem_letter": "H",
      "problem_id": 3912,
      "problem_name": "The Best Name for Your Baby",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 197,
      "problem_letter": "I",
      "problem_id": 3913,
      "problem_name": "Enjoyable Communication",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 198,
      "problem_letter": "A",
      "problem_id": 1644,
      "problem_name": "소수의 연속합",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "two-pointer",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "two_pointer",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 198,
      "problem_letter": "B",
      "problem_id": 3915,
      "problem_name": "Book Replacement",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 198,
      "problem_letter": "C",
      "problem_id": 3916,
      "problem_name": "Colored Cubes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 198,
      "problem_letter": "D",
      "problem_id": 3917,
      "problem_name": "Organize Your Train",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 198,
      "problem_letter": "E",
      "problem_id": 3918,
      "problem_name": "Mobile Computing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 198,
      "problem_letter": "F",
      "problem_id": 3919,
      "problem_name": "Atomic Car Race",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 198,
      "problem_letter": "G",
      "problem_id": 3920,
      "problem_name": "Network Mess",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 198,
      "problem_letter": "H",
      "problem_id": 3921,
      "problem_name": "Bingo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 198,
      "problem_letter": "I",
      "problem_id": 3922,
      "problem_name": "Shy Polygon",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 199,
      "problem_letter": "A",
      "problem_id": 3923,
      "problem_name": "저울",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 199,
      "problem_letter": "B",
      "problem_id": 3924,
      "problem_name": "Make a Sequence",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 199,
      "problem_letter": "C",
      "problem_id": 3925,
      "problem_name": "암호화의 취약점 찾기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 199,
      "problem_letter": "D",
      "problem_id": 3926,
      "problem_name": "Pathological Paths",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "string",
        "tree",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "trees",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 199,
      "problem_letter": "E",
      "problem_id": 3927,
      "problem_name": "Confusing Login Names",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 199,
      "problem_letter": "F",
      "problem_id": 3928,
      "problem_name": "Dice Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 199,
      "problem_letter": "G",
      "problem_id": 3929,
      "problem_name": "Color the Map",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 199,
      "problem_letter": "H",
      "problem_id": 3930,
      "problem_name": "Inherit the Spheres",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 199,
      "problem_letter": "I",
      "problem_id": 3931,
      "problem_name": "Crossing Prisms",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "geometry",
        "case work",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "case_work",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "A",
      "problem_id": 3932,
      "problem_name": "Unreliable Messengers",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "B",
      "problem_id": 3933,
      "problem_name": "라그랑주의 네 제곱수 정리",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "C",
      "problem_id": 3934,
      "problem_name": "Area of Polygons",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "D",
      "problem_id": 3935,
      "problem_name": "바람의 신",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask"
      ],
      "tag_keys": [
        "dp",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "E",
      "problem_id": 3936,
      "problem_name": "Molecular Formula",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "hashing",
        "implementation",
        "parsing",
        "recursion",
        "stack",
        "string",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hashing",
        "implementation",
        "parsing",
        "recursion",
        "stack",
        "string",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "F",
      "problem_id": 3937,
      "problem_name": "Gap",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 200,
      "problem_letter": "G",
      "problem_id": 3938,
      "problem_name": "Concert Hall Scheduling",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 200,
      "problem_letter": "H",
      "problem_id": 3939,
      "problem_name": "Monster Trap",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 201,
      "problem_letter": "A",
      "problem_id": 4948,
      "problem_name": "베르트랑 공준",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 201,
      "problem_letter": "B",
      "problem_id": 4949,
      "problem_name": "균형잡힌 세상",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 201,
      "problem_letter": "C",
      "problem_id": 4950,
      "problem_name": "Identically Colored Panels Connection",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "breadth-first search",
        "bruteforcing",
        "data structures",
        "depth-first search",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "backtracking",
        "bfs",
        "bruteforcing",
        "data_structures",
        "dfs",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 201,
      "problem_letter": "D",
      "problem_id": 4951,
      "problem_name": "And Then, How Many Are There?",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "geometry",
        "bitmask",
        "dynamic programming using bitfield",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "bitmask",
        "dp_bitfield",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 201,
      "problem_letter": "E",
      "problem_id": 4952,
      "problem_name": "Planning Rolling Blackouts",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 201,
      "problem_letter": "F",
      "problem_id": 4953,
      "problem_name": "Watchdog Corporation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 201,
      "problem_letter": "G",
      "problem_id": 4954,
      "problem_name": "A Broken Door",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "0-1 bfs",
        "breadth-first search",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "greedy",
        "implementation",
        "parametric search",
        "shortest path"
      ],
      "tag_keys": [
        "0_1_bfs",
        "bfs",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "greedy",
        "implementation",
        "parametric_search",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 202,
      "problem_letter": "A",
      "problem_id": 4955,
      "problem_name": "Pablo Squarson's Headache",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 202,
      "problem_letter": "B",
      "problem_id": 4956,
      "problem_name": "Amazing Mazes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 202,
      "problem_letter": "C",
      "problem_id": 4957,
      "problem_name": "Pollock's conjecture",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 202,
      "problem_letter": "D",
      "problem_id": 4958,
      "problem_name": "Off Balance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 202,
      "problem_letter": "E",
      "problem_id": 4959,
      "problem_name": "The Most Powerful Spell",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 202,
      "problem_letter": "F",
      "problem_id": 4960,
      "problem_name": "Old Memories",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 202,
      "problem_letter": "G",
      "problem_id": 4961,
      "problem_name": "Laser Beam Reflections",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 203,
      "problem_letter": "A",
      "problem_id": 4962,
      "problem_name": "Next Mayor",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 203,
      "problem_letter": "B",
      "problem_id": 4963,
      "problem_name": "섬의 개수",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 203,
      "problem_letter": "C",
      "problem_id": 4964,
      "problem_name": "단어 덧셈",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 203,
      "problem_letter": "D",
      "problem_id": 4965,
      "problem_name": "Discrete Speed",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "physics"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "physics"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 203,
      "problem_letter": "E",
      "problem_id": 4966,
      "problem_name": "Cards",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm",
        "bipartite matching"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 203,
      "problem_letter": "F",
      "problem_id": 4967,
      "problem_name": "Tighten Up!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 204,
      "problem_letter": "A",
      "problem_id": 4968,
      "problem_name": "Equal Total Scores",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 204,
      "problem_letter": "B",
      "problem_id": 4969,
      "problem_name": "월요일-토요일",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 204,
      "problem_letter": "C",
      "problem_id": 4970,
      "problem_name": "디지털 회로 개론",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "parsing",
        "stack",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "parsing",
        "stack",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 204,
      "problem_letter": "D",
      "problem_id": 4971,
      "problem_name": "Twirling Robot",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 204,
      "problem_letter": "E",
      "problem_id": 4972,
      "problem_name": "Roll-A-Big-Ball",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "case work",
        "geometry",
        "geometry; 3d",
        "line segment intersection check",
        "parametric search"
      ],
      "tag_keys": [
        "case_work",
        "geometry",
        "geometry_3d",
        "line_intersection",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 204,
      "problem_letter": "F",
      "problem_id": 4973,
      "problem_name": "ICPC: Intelligent Congruent Partition of Chocolate",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 205,
      "problem_letter": "A",
      "problem_id": 4974,
      "problem_name": "ICPC Score Totalizer Software",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 205,
      "problem_letter": "B",
      "problem_id": 4975,
      "problem_name": "Analyzing Login/Logout Records",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 205,
      "problem_letter": "C",
      "problem_id": 4976,
      "problem_name": "Cut the Cake",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 205,
      "problem_letter": "D",
      "problem_id": 4977,
      "problem_name": "Cliff Climbing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dijkstra's",
        "graph theory",
        "implementation",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "implementation",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 205,
      "problem_letter": "E",
      "problem_id": 4978,
      "problem_name": "Twirl Around",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 205,
      "problem_letter": "F",
      "problem_id": 4979,
      "problem_name": "Dr. Podboq or: How We Became Asymmetric",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 206,
      "problem_letter": "A",
      "problem_id": 4980,
      "problem_name": "Dirichlet's Theorem on Arithmetic Progressions",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 206,
      "problem_letter": "B",
      "problem_id": 4981,
      "problem_name": "Organize Your Train part II",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 206,
      "problem_letter": "C",
      "problem_id": 4982,
      "problem_name": "Hexerpents of Hexwamp",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 206,
      "problem_letter": "D",
      "problem_id": 4983,
      "problem_name": "Curling 2.0",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "simulation",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "simulation",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 206,
      "problem_letter": "E",
      "problem_id": 4984,
      "problem_name": "The Genome Database of All Space Life",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "parsing",
        "recursion",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "recursion",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 206,
      "problem_letter": "F",
      "problem_id": 4985,
      "problem_name": "Secrets in Shadows",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "geometry",
        "sweeping",
        "angle sorting"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "geometry",
        "sweeping",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 207,
      "problem_letter": "A",
      "problem_id": 4986,
      "problem_name": "Ohgas' Fortune",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 207,
      "problem_letter": "B",
      "problem_id": 4987,
      "problem_name": "Polygonal Line Search",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 207,
      "problem_letter": "C",
      "problem_id": 4988,
      "problem_name": "Numeral System",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "string",
        "arithmetic",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 207,
      "problem_letter": "D",
      "problem_id": 4989,
      "problem_name": "Traveling by Stagecoach",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "bitmask",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bitmask",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 207,
      "problem_letter": "E",
      "problem_id": 4990,
      "problem_name": "Earth Observation with a Mobile Robot Team",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 207,
      "problem_letter": "F",
      "problem_id": 4991,
      "problem_name": "로봇 청소기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "bitmask"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 208,
      "problem_letter": "A",
      "problem_id": 4992,
      "problem_name": "Hanafuda Shuffle",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 208,
      "problem_letter": "B",
      "problem_id": 4993,
      "problem_name": "Red and Black",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 208,
      "problem_letter": "C",
      "problem_id": 2404,
      "problem_name": "단위 분수로 분할",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 208,
      "problem_letter": "D",
      "problem_id": 4995,
      "problem_name": "원과 점",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 208,
      "problem_letter": "E",
      "problem_id": 4996,
      "problem_name": "Water Tank",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 208,
      "problem_letter": "F",
      "problem_id": 4997,
      "problem_name": "Name the Crossing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 209,
      "problem_letter": "A",
      "problem_id": 4999,
      "problem_name": "아!",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "B",
      "problem_id": 5000,
      "problem_name": "빵 정렬",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "parity"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "C",
      "problem_id": 5001,
      "problem_name": "Cookie Selection",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "D",
      "problem_id": 5002,
      "problem_name": "도어맨",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "E",
      "problem_id": 5003,
      "problem_name": "Eco-driving",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "F",
      "problem_id": 5004,
      "problem_name": "파워 블로거",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "G",
      "problem_id": 5005,
      "problem_name": "Galactic Warlords",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "H",
      "problem_id": 5006,
      "problem_name": "Horror List",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "I",
      "problem_id": 5007,
      "problem_name": "Infiltration",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 209,
      "problem_letter": "J",
      "problem_id": 5008,
      "problem_name": "Juice",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "tree",
        "dynamic programming on trees",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "trees",
        "dp_tree",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "K",
      "problem_id": 5009,
      "problem_name": "유치원",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "2-sat",
        "graph theory",
        "parametric search",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "graphs",
        "parametric_search",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 209,
      "problem_letter": "L",
      "problem_id": 5010,
      "problem_name": "수화물",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "A",
      "problem_id": 5011,
      "problem_name": "Robots on a grid",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "B",
      "problem_id": 5012,
      "problem_name": "불만 정렬",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "C",
      "problem_id": 5013,
      "problem_name": "Death Knight Hero",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "D",
      "problem_id": 5014,
      "problem_name": "스타트링크",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "E",
      "problem_id": 5015,
      "problem_name": "ls",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "F",
      "problem_id": 5016,
      "problem_name": "Knigs of the Forest",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "simulation",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "simulation",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "G",
      "problem_id": 5017,
      "problem_name": "Car Trouble",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "H",
      "problem_id": 5018,
      "problem_name": "Private Space",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bitmask",
        "backtracking",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "backtracking",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "I",
      "problem_id": 5019,
      "problem_name": "홀수, 짝수, 그리고 창영",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "dp",
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 210,
      "problem_letter": "J",
      "problem_id": 5020,
      "problem_name": "Enemy Division",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "constructive",
        "greedy"
      ],
      "tag_keys": [
        "constructive",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "A",
      "problem_id": 5021,
      "problem_name": "왕위 계승",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map",
        "set / map by hashing",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "set",
        "hash_set",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "B",
      "problem_id": 5022,
      "problem_name": "연결",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "C",
      "problem_id": 5023,
      "problem_name": "Borg Boogie",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "probability theory",
        "linear algebra",
        "bayes theorem"
      ],
      "tag_keys": [
        "math",
        "probability",
        "linear_algebra",
        "bayes"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "bayes",
          "name": "bayes theorem",
          "boj_tag_id": 114
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "D",
      "problem_id": 5024,
      "problem_name": "Dirty Driving",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "E",
      "problem_id": 5025,
      "problem_name": "낙서",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "F",
      "problem_id": 5026,
      "problem_name": "박사 과정",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "G",
      "problem_id": 5027,
      "problem_name": "Great Geek Game-show 3000!",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics",
        "prefix sum",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "prefix_sum",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "H",
      "problem_id": 5028,
      "problem_name": "Polyomino Powers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 211,
      "problem_letter": "I",
      "problem_id": 5029,
      "problem_name": "Statisticians",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "sorting",
        "ad-hoc",
        "prefix sum"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "J",
      "problem_id": 5030,
      "problem_name": "Skyline",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "line segment intersection check",
        "boolean operations on geometric objects"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "geometric_boolean_operations"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        }
      ]
    },
    {
      "contest_id": 211,
      "problem_letter": "K",
      "problem_id": 5031,
      "problem_name": "Around the track",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 212,
      "problem_letter": "A",
      "problem_id": 5032,
      "problem_name": "탄산 음료",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "B",
      "problem_id": 5033,
      "problem_name": "Money Matters",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "C",
      "problem_id": 5034,
      "problem_name": "Allergy Test",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking",
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "D",
      "problem_id": 5035,
      "problem_name": "Rain Fall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "E",
      "problem_id": 5036,
      "problem_name": "Speedy Escape",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "parametric search"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "F",
      "problem_id": 5037,
      "problem_name": "Gokigen Naname",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "G",
      "problem_id": 5038,
      "problem_name": "Flight Planning",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "constructive",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "constructive",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "H",
      "problem_id": 5039,
      "problem_name": "Beacons",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 212,
      "problem_letter": "I",
      "problem_id": 5040,
      "problem_name": "Playfair Cipher",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 212,
      "problem_letter": "J",
      "problem_id": 5041,
      "problem_name": "Code Permutations",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "möbius inversion",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "mobius_inversion",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "A",
      "problem_id": 5042,
      "problem_name": "나무 옮기기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "B",
      "problem_id": 5043,
      "problem_name": "정말 좋은 압축",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "C",
      "problem_id": 5044,
      "problem_name": "코드 절도",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "string",
        "hashing",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "hashing",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "D",
      "problem_id": 5045,
      "problem_name": "Dinner",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "E",
      "problem_id": 5046,
      "problem_name": "전국 대학생 프로그래밍 대회 동아리 연합",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "F",
      "problem_id": 5047,
      "problem_name": "Fixing the Bugs",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "G",
      "problem_id": 5048,
      "problem_name": "Getting Gold",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "H",
      "problem_id": 5049,
      "problem_name": "Hard Evidence",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "I",
      "problem_id": 5050,
      "problem_name": "Introspective Caching",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 213,
      "problem_letter": "J",
      "problem_id": 5051,
      "problem_name": "피타고라스의 정리",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "A",
      "problem_id": 5052,
      "problem_name": "전화번호 목록",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "tree",
        "set / map",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "trees",
        "set",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "B",
      "problem_id": 5053,
      "problem_name": "Cuckoo Hashing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "C",
      "problem_id": 5054,
      "problem_name": "주차의 신",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "D",
      "problem_id": 5055,
      "problem_name": "DNA 복사",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 214,
      "problem_letter": "E",
      "problem_id": 5056,
      "problem_name": "Circle of Debt",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "dynamic programming"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "F",
      "problem_id": 5057,
      "problem_name": "Full Tank?",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "G",
      "problem_id": 5058,
      "problem_name": "Nested Dolls",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "sorting",
        "binary search",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "binary_search",
        "lis"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "H",
      "problem_id": 5059,
      "problem_name": "Shopaholic",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 214,
      "problem_letter": "I",
      "problem_id": 5060,
      "problem_name": "무글 맵스",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "A",
      "problem_id": 1832,
      "problem_name": "카우보이",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "B",
      "problem_id": 1827,
      "problem_name": "여행가이드",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "C",
      "problem_id": 5063,
      "problem_name": "TGN",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "D",
      "problem_id": 5064,
      "problem_name": "Jezzball",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 215,
      "problem_letter": "E",
      "problem_id": 1835,
      "problem_name": "카드",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "deque"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "deque"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "F",
      "problem_id": 1828,
      "problem_name": "Traveling Salesman",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "G",
      "problem_id": 5067,
      "problem_name": "Whac-a-Mole",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "H",
      "problem_id": 5068,
      "problem_name": "Random Walking",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 215,
      "problem_letter": "I",
      "problem_id": 5069,
      "problem_name": "미로에 갇힌 상근",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "A",
      "problem_id": 2174,
      "problem_name": "로봇 시뮬레이션",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 216,
      "problem_letter": "B",
      "problem_id": 2062,
      "problem_name": "곱하기 게임",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "priority queue",
        "game theory"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "D",
      "problem_id": 1837,
      "problem_name": "암호제작",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "D",
      "problem_id": 2061,
      "problem_name": "좋은 암호",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "E",
      "problem_id": 2010,
      "problem_name": "플러그",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "F",
      "problem_id": 2094,
      "problem_name": "강수량",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "case work",
        "set / map by trees",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "case_work",
        "tree_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "G",
      "problem_id": 1841,
      "problem_name": "군사 배치",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "H",
      "problem_id": 2070,
      "problem_name": "목걸이 수열",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 216,
      "problem_letter": "I",
      "problem_id": 2063,
      "problem_name": "철사 연결",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "A",
      "problem_id": 3953,
      "problem_name": "Battleship",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "B",
      "problem_id": 3954,
      "problem_name": "Brainf**k 인터프리터",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "C",
      "problem_id": 3955,
      "problem_name": "캔디 분배",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "D",
      "problem_id": 3956,
      "problem_name": "Outsourcing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "E",
      "problem_id": 3957,
      "problem_name": "Pizza Hawaii",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "F",
      "problem_id": 3958,
      "problem_name": "롤러코스터 타기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "G",
      "problem_id": 3959,
      "problem_name": "스키 점프",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "calculus",
        "physics"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "calculus",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "H",
      "problem_id": 3960,
      "problem_name": "Suffix Array Re-construction",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "I",
      "problem_id": 3961,
      "problem_name": "터치스크린 키보드",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "J",
      "problem_id": 3962,
      "problem_name": "Track Smoothing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 217,
      "problem_letter": "K",
      "problem_id": 3963,
      "problem_name": "Treasure Diving",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "bitmask",
        "shortest path",
        "dijkstra's",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "bitmask",
        "shortest_path",
        "dijkstra",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 218,
      "problem_letter": "A",
      "problem_id": 3964,
      "problem_name": "팩토리얼과 거듭제곱",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 218,
      "problem_letter": "B",
      "problem_id": 3965,
      "problem_name": "Genetic Fraud",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 218,
      "problem_letter": "C",
      "problem_id": 3966,
      "problem_name": "Indiana Jones and the lost Soccer Cup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 218,
      "problem_letter": "D",
      "problem_id": 3967,
      "problem_name": "매직 스타",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 218,
      "problem_letter": "E",
      "problem_id": 3968,
      "problem_name": "Magical Crafting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 218,
      "problem_letter": "F",
      "problem_id": 3969,
      "problem_name": "My brother’s diary",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 218,
      "problem_letter": "G",
      "problem_id": 3970,
      "problem_name": "안전 구역",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 218,
      "problem_letter": "H",
      "problem_id": 3971,
      "problem_name": "Sightseeing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 218,
      "problem_letter": "I",
      "problem_id": 3972,
      "problem_name": "Suiting Weavers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "greedy",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 218,
      "problem_letter": "J",
      "problem_id": 3973,
      "problem_name": "Time To Live",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "A",
      "problem_id": 3974,
      "problem_name": "Absurd prices",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "B",
      "problem_id": 3975,
      "problem_name": "Cheating or Not",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 219,
      "problem_letter": "C",
      "problem_id": 3976,
      "problem_name": "역습",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "D",
      "problem_id": 3977,
      "problem_name": "축구 전술",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "E",
      "problem_id": 3978,
      "problem_name": "Hacking",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "F",
      "problem_id": 3979,
      "problem_name": "Last Minute Constructions",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 219,
      "problem_letter": "G",
      "problem_id": 3980,
      "problem_name": "선발 명단",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "H",
      "problem_id": 3981,
      "problem_name": "큐브러버",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "I",
      "problem_id": 3982,
      "problem_name": "Soccer Bets",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "J",
      "problem_id": 3983,
      "problem_name": "The Two-ball Game",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 219,
      "problem_letter": "K",
      "problem_id": 3984,
      "problem_name": "To score or not to score",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 418,
      "problem_letter": "A",
      "problem_id": 5371,
      "problem_name": "Annoying Mosquitos",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "B",
      "problem_id": 5372,
      "problem_name": "나쁜 과학자",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "bruteforcing",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "C",
      "problem_id": 5373,
      "problem_name": "큐빙",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "D",
      "problem_id": 5374,
      "problem_name": "올바른 바이너리 문자열",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "E",
      "problem_id": 5375,
      "problem_name": "공책 구매",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "F",
      "problem_id": 5376,
      "problem_name": "소수를 분수로",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "parsing",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "parsing",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "G",
      "problem_id": 5377,
      "problem_name": "승혁이의 과외돌이네 집 탈출하기",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "convex hull",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "H",
      "problem_id": 5378,
      "problem_name": "Hex",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "I",
      "problem_id": 5379,
      "problem_name": "Islands",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 418,
      "problem_letter": "J",
      "problem_id": 5380,
      "problem_name": "Jumbled Letters",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "bitmask",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "bitmask",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 419,
      "problem_letter": "A",
      "problem_id": 5381,
      "problem_name": "Popping Balloons",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 419,
      "problem_letter": "B",
      "problem_id": 5382,
      "problem_name": "Quick out of the Harbour",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 419,
      "problem_letter": "C",
      "problem_id": 5383,
      "problem_name": "안녕! 난 루피! 장래에 해적왕이 될 사내다!",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "binary search",
        "point in convex polygon check",
        "half plane intersection",
        "duality"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "point_in_convex_polygon",
        "half_plane_intersection",
        "duality"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        }
      ]
    },
    {
      "contest_id": 419,
      "problem_letter": "D",
      "problem_id": 5384,
      "problem_name": "Bad Wiring",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "greedy"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 419,
      "problem_letter": "F",
      "problem_id": 5385,
      "problem_name": "Ultimate Finishing Strike",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 419,
      "problem_letter": "G",
      "problem_id": 5386,
      "problem_name": "금화 게임",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 419,
      "problem_letter": "H",
      "problem_id": 5387,
      "problem_name": "Walking the Plank",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 419,
      "problem_letter": "I",
      "problem_id": 5388,
      "problem_name": "Parking Ships",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 419,
      "problem_letter": "J",
      "problem_id": 5389,
      "problem_name": "제곱근 작도",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "parity"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "A",
      "problem_id": 5390,
      "problem_name": "Gene Shuffle",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "B",
      "problem_id": 5391,
      "problem_name": "Top 2000",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "C",
      "problem_id": 5392,
      "problem_name": "The Twin Tower",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "precomputation"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "D",
      "problem_id": 5393,
      "problem_name": "Collatz",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "E",
      "problem_id": 5394,
      "problem_name": "시계",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "binary search",
        "case work",
        "geometry"
      ],
      "tag_keys": [
        "binary_search",
        "case_work",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "G",
      "problem_id": 5395,
      "problem_name": "Snooker",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "case work",
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "H",
      "problem_id": 5396,
      "problem_name": "Pie Division",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 420,
      "problem_letter": "I",
      "problem_id": 5397,
      "problem_name": "키로거",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "stack",
        "linked list"
      ],
      "tag_keys": [
        "data_structures",
        "stack",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 420,
      "problem_letter": "J",
      "problem_id": 5398,
      "problem_name": "틀렸습니다",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "A",
      "problem_id": 5399,
      "problem_name": "Penguin Bashing",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation",
        "physics"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "physics"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "B",
      "problem_id": 5400,
      "problem_name": "Gearbox",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "C",
      "problem_id": 5401,
      "problem_name": "Escape from the Minefield",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "data structures",
        "geometry",
        "disjoint set",
        "delaunay triangulation"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "disjoint_set",
        "delaunay"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "delaunay",
          "name": "delaunay triangulation",
          "boj_tag_id": 21
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "D",
      "problem_id": 5402,
      "problem_name": "Baby’s Blocks",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "data structures",
        "set / map",
        "combinatorics",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "set",
        "combinatorics",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "E",
      "problem_id": 5403,
      "problem_name": "The Pharaoh’s Curse",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 421,
      "problem_letter": "F",
      "problem_id": 5404,
      "problem_name": "차원 워프 드라이브",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "G",
      "problem_id": 5405,
      "problem_name": "프랙탈 거리",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "H",
      "problem_id": 5406,
      "problem_name": "No Smoking, Please",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 421,
      "problem_letter": "I",
      "problem_id": 10700,
      "problem_name": "Arctic Polar Explorer",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 422,
      "problem_letter": "A",
      "problem_id": 5407,
      "problem_name": "Song contest",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "geometry",
        "set / map by hashing",
        "implementation",
        "mathematics",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "hash_set",
        "implementation",
        "math",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 422,
      "problem_letter": "B",
      "problem_id": 5408,
      "problem_name": "Message",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 422,
      "problem_letter": "C",
      "problem_id": 5409,
      "problem_name": "The skatepark's new ramps",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 422,
      "problem_letter": "D",
      "problem_id": 5410,
      "problem_name": "Road",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 422,
      "problem_letter": "E",
      "problem_id": 5411,
      "problem_name": "Warfare",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 422,
      "problem_letter": "F",
      "problem_id": 5412,
      "problem_name": "Blackjack",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "dynamic programming"
      ],
      "tag_keys": [
        "implementation",
        "dp"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 422,
      "problem_letter": "G",
      "problem_id": 5413,
      "problem_name": "Robintron",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 422,
      "problem_letter": "H",
      "problem_id": 5414,
      "problem_name": "Diamond Dealer",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "A",
      "problem_id": 5415,
      "problem_name": "ASM – The Abelian Sandpile Model",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "B",
      "problem_id": 5416,
      "problem_name": "Cell Phones",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 423,
      "problem_letter": "C",
      "problem_id": 5417,
      "problem_name": "Evacuation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "D",
      "problem_id": 5418,
      "problem_name": "Giant Cover",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "convex hull",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "E",
      "problem_id": 5419,
      "problem_name": "북서풍",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "F",
      "problem_id": 5420,
      "problem_name": "Shepherds and Engineers",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "case work",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "case_work",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "G",
      "problem_id": 5421,
      "problem_name": "Ski Lifts",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "directed acyclic graph",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dag",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 423,
      "problem_letter": "H",
      "problem_id": 5422,
      "problem_name": "Tables",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 424,
      "problem_letter": "A",
      "problem_id": 5423,
      "problem_name": "Another Dice Game",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "C",
      "problem_id": 5424,
      "problem_name": "천하제일 게임 대회",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "D",
      "problem_id": 5425,
      "problem_name": "자리합",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "E",
      "problem_id": 5426,
      "problem_name": "비밀 편지",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "F",
      "problem_id": 5427,
      "problem_name": "불",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "G",
      "problem_id": 5428,
      "problem_name": "Good Coalition",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "H",
      "problem_id": 5429,
      "problem_name": "Hot Dogs in Manhattan",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "binary search",
        "breadth-first search",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "binary_search",
        "bfs",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "I",
      "problem_id": 5430,
      "problem_name": "AC",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "deque",
        "parsing",
        "implementation",
        "string",
        "data structures"
      ],
      "tag_keys": [
        "deque",
        "parsing",
        "implementation",
        "string",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 424,
      "problem_letter": "J",
      "problem_id": 5431,
      "problem_name": "책 쌓기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "A",
      "problem_id": 5432,
      "problem_name": "Stifling the Mutiny",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "B",
      "problem_id": 5433,
      "problem_name": "RNG",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "C",
      "problem_id": 5434,
      "problem_name": "Attack of the Giant n-pus",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "bipartite matching"
      ],
      "tag_keys": [
        "binary_search",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "D",
      "problem_id": 5435,
      "problem_name": "Polly Wants a Cracker",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "dynamic programming"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "E",
      "problem_id": 5436,
      "problem_name": "Rolling Dice",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "F",
      "problem_id": 5437,
      "problem_name": "Dividing the Loot",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "G",
      "problem_id": 5438,
      "problem_name": "Secret Island Base",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bruteforcing",
        "case work",
        "geometry",
        "mathematics",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "geometry",
        "math",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "H",
      "problem_id": 5439,
      "problem_name": "Stealth Ninja",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 425,
      "problem_letter": "I",
      "problem_id": 5440,
      "problem_name": "In and Out",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 425,
      "problem_letter": "J",
      "problem_id": 5441,
      "problem_name": "Shuriken Game",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "A",
      "problem_id": 5442,
      "problem_name": "Evolution",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "B",
      "problem_id": 5443,
      "problem_name": "Have a Nice Day",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "C",
      "problem_id": 5444,
      "problem_name": "시리얼 넘버",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "knapsack",
        "sliding window"
      ],
      "tag_keys": [
        "dp",
        "knapsack",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "D",
      "problem_id": 5445,
      "problem_name": "Equal Is Not Really Equal",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 426,
      "problem_letter": "E",
      "problem_id": 5446,
      "problem_name": "용량 부족",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "F",
      "problem_id": 5447,
      "problem_name": "Stock Market",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "G",
      "problem_id": 5448,
      "problem_name": "Acrobat Reader",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "H",
      "problem_id": 5449,
      "problem_name": "Farmer John",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "line segment intersection check"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "I",
      "problem_id": 5450,
      "problem_name": "Imagine",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "multidimensional segment tree",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "multi_segtree",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "multi_segtree",
          "name": "multidimensional segment tree",
          "boj_tag_id": 166
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 426,
      "problem_letter": "J",
      "problem_id": 5451,
      "problem_name": "My Cousin Obama",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 427,
      "problem_letter": "A",
      "problem_id": 5452,
      "problem_name": "Bancopia",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 427,
      "problem_letter": "B",
      "problem_id": 5453,
      "problem_name": "Flipping Networks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 427,
      "problem_letter": "C",
      "problem_id": 5454,
      "problem_name": "Insecurity",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 427,
      "problem_letter": "D",
      "problem_id": 5455,
      "problem_name": "Mandalas",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "geometry",
        "arbitrary precision / big integers",
        "euler characteristic (χ=v-e+f)"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arbitrary_precision",
        "euler_characteristic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        }
      ]
    },
    {
      "contest_id": 427,
      "problem_letter": "E",
      "problem_id": 5456,
      "problem_name": "Minotaur",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 427,
      "problem_letter": "F",
      "problem_id": 5457,
      "problem_name": "Mondriaan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 427,
      "problem_letter": "G",
      "problem_id": 5458,
      "problem_name": "Nim/3",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 427,
      "problem_letter": "H",
      "problem_id": 5459,
      "problem_name": "Venus Rover",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 428,
      "problem_letter": "A",
      "problem_id": 4786,
      "problem_name": "CosmoCraft",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "B",
      "problem_id": 4787,
      "problem_name": "Covered Walkway",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "C",
      "problem_id": 4788,
      "problem_name": "Double Dealing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "D",
      "problem_id": 4789,
      "problem_name": "The End of the World",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "dp",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "E",
      "problem_id": 4790,
      "problem_name": "Estimation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "F",
      "problem_id": 4791,
      "problem_name": "Juggler",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "G",
      "problem_id": 4792,
      "problem_name": "레드 블루 스패닝 트리",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "H",
      "problem_id": 4793,
      "problem_name": "The Red Gem",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "I",
      "problem_id": 4794,
      "problem_name": "Science!",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "parametric search",
        "maximum flow",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "parametric_search",
        "flow",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 428,
      "problem_letter": "J",
      "problem_id": 4795,
      "problem_name": "The Worm in the Apple",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "convex hull",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "B",
      "problem_id": 5073,
      "problem_name": "삼각형과 세 변",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "C",
      "problem_id": 5074,
      "problem_name": "When Do We Finish?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "D",
      "problem_id": 5075,
      "problem_name": "Car Park",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 445,
      "problem_letter": "E",
      "problem_id": 5076,
      "problem_name": "Web Pages",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "F",
      "problem_id": 5077,
      "problem_name": "Maps",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "G",
      "problem_id": 5078,
      "problem_name": "Shirts",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "H",
      "problem_id": 5079,
      "problem_name": "Discounts",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "J",
      "problem_id": 5080,
      "problem_name": "Microspikes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 445,
      "problem_letter": "K",
      "problem_id": 5081,
      "problem_name": "Constellations",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "L",
      "problem_id": 5082,
      "problem_name": "Image Segmentation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 445,
      "problem_letter": "M",
      "problem_id": 5083,
      "problem_name": "Team Dessert",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 445,
      "problem_letter": "N",
      "problem_id": 5084,
      "problem_name": "Bat Positioning",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 445,
      "problem_letter": "O",
      "problem_id": 5085,
      "problem_name": "Gooseberry Tart BASIC",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "A",
      "problem_id": 5086,
      "problem_name": "배수와 약수",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "B",
      "problem_id": 5087,
      "problem_name": "Card Cutting",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "C",
      "problem_id": 5088,
      "problem_name": "Archaeological Digs",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "D",
      "problem_id": 5089,
      "problem_name": "Travelling Salesman",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "E",
      "problem_id": 5090,
      "problem_name": "Street Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 446,
      "problem_letter": "F",
      "problem_id": 5091,
      "problem_name": "Hostel Nights",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "G",
      "problem_id": 5092,
      "problem_name": "Air Old Zeeland",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "H",
      "problem_id": 5093,
      "problem_name": "Letter Replacement",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "I",
      "problem_id": 5094,
      "problem_name": "Balloons",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 446,
      "problem_letter": "J",
      "problem_id": 5095,
      "problem_name": "Matrix Powers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "exponentiation by squaring",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "K",
      "problem_id": 5096,
      "problem_name": "Standing Pins",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 446,
      "problem_letter": "L",
      "problem_id": 5097,
      "problem_name": "The God Delusion",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "meet in the middle",
        "bidirectional search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "mitm",
        "bidirectional_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "bidirectional_search",
          "name": "bidirectional search",
          "boj_tag_id": 129
        }
      ]
    },
    {
      "contest_id": 446,
      "problem_letter": "N",
      "problem_id": 5098,
      "problem_name": "Adjacent Edges",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 446,
      "problem_letter": "P",
      "problem_id": 5099,
      "problem_name": "Vectors",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 447,
      "problem_letter": "A",
      "problem_id": 5100,
      "problem_name": "Jean and Joe’s Clothes",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "B",
      "problem_id": 5101,
      "problem_name": "Sequences",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "C",
      "problem_id": 5102,
      "problem_name": "Sarah's Toys",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "D",
      "problem_id": 5103,
      "problem_name": "DVDs",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "E",
      "problem_id": 5104,
      "problem_name": "NoMoPhobia",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "F",
      "problem_id": 5105,
      "problem_name": "Postman Joe",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "G",
      "problem_id": 5106,
      "problem_name": "Target",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "H",
      "problem_id": 5107,
      "problem_name": "마니또",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map",
        "set / map by hashing",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "set",
        "hash_set",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "I",
      "problem_id": 5108,
      "problem_name": "Lego Bricks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 447,
      "problem_letter": "J",
      "problem_id": 5109,
      "problem_name": "Extreme TTT",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "L",
      "problem_id": 5110,
      "problem_name": "A Foldy but a Goody",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 447,
      "problem_letter": "M",
      "problem_id": 5111,
      "problem_name": "Congested Networks",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "N",
      "problem_id": 5112,
      "problem_name": "Functional Programming Counts",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 447,
      "problem_letter": "O",
      "problem_id": 5113,
      "problem_name": "Packages Par Avion",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 447,
      "problem_letter": "P",
      "problem_id": 5114,
      "problem_name": "Ascii Art",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 561,
      "problem_letter": "A",
      "problem_id": 5628,
      "problem_name": "바이너리 행렬",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 561,
      "problem_letter": "B",
      "problem_id": 5629,
      "problem_name": "Probability Through experiment",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "geometry",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 561,
      "problem_letter": "C",
      "problem_id": 5630,
      "problem_name": "Optimal Space Way",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 561,
      "problem_letter": "D",
      "problem_id": 5631,
      "problem_name": "방사능",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "sorting",
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 561,
      "problem_letter": "E",
      "problem_id": 5632,
      "problem_name": "버젼 관리 IDE",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "string",
        "rope"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "rope"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "rope",
          "name": "rope",
          "boj_tag_id": 159
        }
      ]
    },
    {
      "contest_id": 561,
      "problem_letter": "F",
      "problem_id": 5633,
      "problem_name": "Ultimate Device",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 561,
      "problem_letter": "G",
      "problem_id": 5634,
      "problem_name": "Warp Speed II",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 561,
      "problem_letter": "H",
      "problem_id": 5635,
      "problem_name": "생일",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 561,
      "problem_letter": "I",
      "problem_id": 5636,
      "problem_name": "소수 부분 문자열",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 561,
      "problem_letter": "J",
      "problem_id": 5637,
      "problem_name": "가장 긴 단어",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "parsing",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "parsing",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "A",
      "problem_id": 5638,
      "problem_name": "수문",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "B",
      "problem_id": 5639,
      "problem_name": "이진 검색 트리",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "recursion"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "C",
      "problem_id": 5640,
      "problem_name": "즐거운 색칠",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "D",
      "problem_id": 5641,
      "problem_name": "겉보기에 쌍둥이 소수",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "arbitrary precision / big integers",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "arbitrary_precision",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "E",
      "problem_id": 5642,
      "problem_name": "퀸 게임",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "game theory",
        "precomputation",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "precomputation",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "F",
      "problem_id": 5643,
      "problem_name": "Spelling Suggestion",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 562,
      "problem_letter": "G",
      "problem_id": 5644,
      "problem_name": "Coalescing Continents",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "H",
      "problem_id": 5645,
      "problem_name": "Fence Making",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "I",
      "problem_id": 5646,
      "problem_name": "트리 경로",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "J",
      "problem_id": 5647,
      "problem_name": "연속 합",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "prime factorization",
        "pollard rho",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "prime_factorization",
        "pollard_rho",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "P1",
      "problem_id": 5648,
      "problem_name": "역원소 정렬",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "P2",
      "problem_id": 5649,
      "problem_name": "Line of Best Fit",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "P3",
      "problem_id": 5650,
      "problem_name": "Software Licenses",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 562,
      "problem_letter": "P4",
      "problem_id": 5651,
      "problem_name": "완전 중요한 간선",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 563,
      "problem_letter": "A",
      "problem_id": 5652,
      "problem_name": "Airplane Parking",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 563,
      "problem_letter": "B",
      "problem_id": 5653,
      "problem_name": "Elias Omega Coding",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 563,
      "problem_letter": "C",
      "problem_id": 5654,
      "problem_name": "In-circles Again",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "mathematics",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "geometry",
        "math",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 563,
      "problem_letter": "D",
      "problem_id": 5655,
      "problem_name": "평점",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 563,
      "problem_letter": "E",
      "problem_id": 5656,
      "problem_name": "비교 연산자",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 563,
      "problem_letter": "F",
      "problem_id": 5657,
      "problem_name": "Your Ways",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 563,
      "problem_letter": "G",
      "problem_id": 5658,
      "problem_name": "Hexagonal Sticks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 563,
      "problem_letter": "H",
      "problem_id": 5659,
      "problem_name": "Buy Your House",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 563,
      "problem_letter": "I",
      "problem_id": 5660,
      "problem_name": "Synnerg Lifeform",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 563,
      "problem_letter": "J",
      "problem_id": 5661,
      "problem_name": "Nowhere Money",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 563,
      "problem_letter": "K",
      "problem_id": 5662,
      "problem_name": "Highway Patrol",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 564,
      "problem_letter": "A",
      "problem_id": 5668,
      "problem_name": "Arranging Heaps",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "divide and conquer",
        "convex hull trick",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "divide_and_conquer",
        "cht",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "B",
      "problem_id": 5669,
      "problem_name": "Boxes and Stones",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 564,
      "problem_letter": "C",
      "problem_id": 5670,
      "problem_name": "휴대폰 자판",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "D",
      "problem_id": 5671,
      "problem_name": "호텔 방 번호",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "E",
      "problem_id": 5672,
      "problem_name": "Environment Protection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 564,
      "problem_letter": "F",
      "problem_id": 5673,
      "problem_name": "Fix the Pond",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "G",
      "problem_id": 5674,
      "problem_name": "Game of Tiles",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "binary search",
        "game theory",
        "bipartite matching"
      ],
      "tag_keys": [
        "ad_hoc",
        "binary_search",
        "game_theory",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "H",
      "problem_id": 5675,
      "problem_name": "시침과 분침",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "I",
      "problem_id": 5676,
      "problem_name": "음주 코딩",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "segment tree",
        "data structures"
      ],
      "tag_keys": [
        "segtree",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "J",
      "problem_id": 5677,
      "problem_name": "Joining Couples",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "case work",
        "graph theory",
        "lowest common ancestor",
        "topological sorting",
        "tree",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "case_work",
        "graphs",
        "lca",
        "topological_sorting",
        "trees",
        "dag"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "PA",
      "problem_id": 5666,
      "problem_name": "Hot Dogs",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 564,
      "problem_letter": "PB",
      "problem_id": 5667,
      "problem_name": "Tornado!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "A",
      "problem_id": 5680,
      "problem_name": "Army buddies",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "linked list"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "B",
      "problem_id": 5681,
      "problem_name": "공 쌓기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "C",
      "problem_id": 5682,
      "problem_name": "Candy’s Candy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 565,
      "problem_letter": "D",
      "problem_id": 5683,
      "problem_name": "상학어",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "E",
      "problem_id": 5684,
      "problem_name": "Electrical Pollution",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 565,
      "problem_letter": "F",
      "problem_id": 5685,
      "problem_name": "파일 검색",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 565,
      "problem_letter": "G",
      "problem_id": 5686,
      "problem_name": "Garden Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 565,
      "problem_letter": "H",
      "problem_id": 5687,
      "problem_name": "Hedge Mazes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 565,
      "problem_letter": "I",
      "problem_id": 5688,
      "problem_name": "In Braille",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "J",
      "problem_id": 5689,
      "problem_name": "Jupiter Attacks!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "hashing"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "K",
      "problem_id": 5690,
      "problem_name": "King’s Poker",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "PA",
      "problem_id": 5678,
      "problem_name": "Bakugan",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 565,
      "problem_letter": "PB",
      "problem_id": 5679,
      "problem_name": "Hailstone Sequences",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "A",
      "problem_id": 5693,
      "problem_name": "Ants Colony",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 566,
      "problem_letter": "B",
      "problem_id": 5694,
      "problem_name": "Bingo!",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "C",
      "problem_id": 5695,
      "problem_name": "공원점",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "D",
      "problem_id": 5696,
      "problem_name": "숫자 세기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "E",
      "problem_id": 5697,
      "problem_name": "Electric Needs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 566,
      "problem_letter": "F",
      "problem_id": 5698,
      "problem_name": "Tautogram",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "G",
      "problem_id": 5699,
      "problem_name": "문자열 농장",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "directed acyclic graph",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "dag",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "H",
      "problem_id": 5700,
      "problem_name": "활동과잉 소년 강산이",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "sorting",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "I",
      "problem_id": 5701,
      "problem_name": "Ingenious Metro",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 566,
      "problem_letter": "J",
      "problem_id": 5702,
      "problem_name": "Jollo",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "K",
      "problem_id": 5703,
      "problem_name": "Kids’ Wishes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 566,
      "problem_letter": "PA",
      "problem_id": 5691,
      "problem_name": "평균 중앙값 문제",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 566,
      "problem_letter": "PB",
      "problem_id": 5692,
      "problem_name": "팩토리얼 진법",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "A",
      "problem_id": 5706,
      "problem_name": "Another Crisis",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "B",
      "problem_id": 5707,
      "problem_name": "Brothers",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "C",
      "problem_id": 5708,
      "problem_name": "Code Lock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 567,
      "problem_letter": "D",
      "problem_id": 5709,
      "problem_name": "Dinner Hall",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 567,
      "problem_letter": "E",
      "problem_id": 5710,
      "problem_name": "전기 요금",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "F",
      "problem_id": 5711,
      "problem_name": "File Recover",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "string",
        "combinatorics",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "math",
        "string",
        "combinatorics",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "G",
      "problem_id": 5712,
      "problem_name": "Grapevine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 567,
      "problem_letter": "H",
      "problem_id": 5713,
      "problem_name": "Hooligan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 567,
      "problem_letter": "I",
      "problem_id": 5714,
      "problem_name": "Isosceles Triangles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "geometry",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "J",
      "problem_id": 5715,
      "problem_name": "Jingle Composing",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "K",
      "problem_id": 5716,
      "problem_name": "Klingon Levels",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "PA",
      "problem_id": 5704,
      "problem_name": "팬그램",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 567,
      "problem_letter": "PB",
      "problem_id": 5705,
      "problem_name": "Hexagonal Tiles",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "A",
      "problem_id": 5719,
      "problem_name": "거의 최단 경로",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "B",
      "problem_id": 5720,
      "problem_name": "진법 알아내기",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "number theory",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "number_theory",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "C",
      "problem_id": 5721,
      "problem_name": "사탕 줍기 대회",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "D",
      "problem_id": 5722,
      "problem_name": "DNA 부분 수열",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "E",
      "problem_id": 5723,
      "problem_name": "Electricity",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "F",
      "problem_id": 5724,
      "problem_name": "파인만",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "G",
      "problem_id": 5725,
      "problem_name": "Pole Position",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "H",
      "problem_id": 5726,
      "problem_name": "Higgs Boson",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 568,
      "problem_letter": "I",
      "problem_id": 5727,
      "problem_name": "Traveling Shoemaker Problem",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 568,
      "problem_letter": "J",
      "problem_id": 5728,
      "problem_name": "Bora Bora",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 568,
      "problem_letter": "K",
      "problem_id": 5729,
      "problem_name": "수축하는 다각형",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "geometry",
        "set / map",
        "prefix sum",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "set",
        "prefix_sum",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "PA",
      "problem_id": 5717,
      "problem_name": "상근이의 친구들",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 568,
      "problem_letter": "PB",
      "problem_id": 5738,
      "problem_name": "He is offside!",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "A",
      "problem_id": 5731,
      "problem_name": "Ambiguous Codes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "dijkstra's",
        "dynamic programming",
        "graph theory",
        "priority queue",
        "shortest path",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "dijkstra",
        "dp",
        "graphs",
        "priority_queue",
        "shortest_path",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "B",
      "problem_id": 5732,
      "problem_name": "Ballroom Lights",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 569,
      "problem_letter": "C",
      "problem_id": 5733,
      "problem_name": "Car Plates Competition",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "D",
      "problem_id": 5734,
      "problem_name": "Drop the Triples",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 569,
      "problem_letter": "E",
      "problem_id": 5735,
      "problem_name": "Emoticons :-)",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "F",
      "problem_id": 5736,
      "problem_name": "Finding Seats",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "binary_search",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "G",
      "problem_id": 5737,
      "problem_name": "Galou is back!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "H",
      "problem_id": 5738,
      "problem_name": "He is offside!",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "I",
      "problem_id": 5739,
      "problem_name": "ICPC Scoreboard",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 569,
      "problem_letter": "J",
      "problem_id": 5740,
      "problem_name": "Justice League",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 569,
      "problem_letter": "PA",
      "problem_id": 5730,
      "problem_name": "Acquapia",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 570,
      "problem_letter": "A",
      "problem_id": 5742,
      "problem_name": "Weekend Lottery",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "B",
      "problem_id": 5743,
      "problem_name": "Lazy Jumping Frog",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "difference array"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "C",
      "problem_id": 5744,
      "problem_name": "Jukebox",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "greedy",
        "recursion"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "greedy",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "D",
      "problem_id": 5745,
      "problem_name": "Bubble Maps",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 570,
      "problem_letter": "E",
      "problem_id": 5746,
      "problem_name": "Onion Layers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "F",
      "problem_id": 5747,
      "problem_name": "Odd or Even",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "parity"
      ],
      "tag_keys": [
        "greedy",
        "parity"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "G",
      "problem_id": 5748,
      "problem_name": "Power Generation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "greedy"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "H",
      "problem_id": 5749,
      "problem_name": "Report Recovery",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "string",
        "prefix sum",
        "backtracking",
        "recursion"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "prefix_sum",
        "backtracking",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 570,
      "problem_letter": "I",
      "problem_id": 5750,
      "problem_name": "Turkish Roulette",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 570,
      "problem_letter": "PA",
      "problem_id": 5741,
      "problem_name": "Soccer League",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "A",
      "problem_id": 5667,
      "problem_name": "Tornado!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "B",
      "problem_id": 5752,
      "problem_name": "Mission Impossible",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "C",
      "problem_id": 5753,
      "problem_name": "Pascal Library",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "D",
      "problem_id": 5754,
      "problem_name": "ICPC Strikes Again",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "topological sorting",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "graphs",
        "topological_sorting",
        "dag"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "E",
      "problem_id": 5755,
      "problem_name": "Optical Fiber",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 571,
      "problem_letter": "F",
      "problem_id": 5756,
      "problem_name": "Where Are My Genes",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "G",
      "problem_id": 5757,
      "problem_name": "Computer DJ",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "H",
      "problem_id": 5758,
      "problem_name": "P-Networks",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "sorting",
        "constructive"
      ],
      "tag_keys": [
        "sorting",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 571,
      "problem_letter": "I",
      "problem_id": 5759,
      "problem_name": "Light Up",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 571,
      "problem_letter": "PA",
      "problem_id": 5751,
      "problem_name": "Head or Tail",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 572,
      "problem_letter": "A",
      "problem_id": 5760,
      "problem_name": "Land Division Tax",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 572,
      "problem_letter": "B",
      "problem_id": 5761,
      "problem_name": "Petanque",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 572,
      "problem_letter": "C",
      "problem_id": 5762,
      "problem_name": "Long Night of Museums",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 572,
      "problem_letter": "D",
      "problem_id": 5763,
      "problem_name": "Magic Trick",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 572,
      "problem_letter": "E",
      "problem_id": 5764,
      "problem_name": "Two-Stacks Solitaire",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 572,
      "problem_letter": "F",
      "problem_id": 5765,
      "problem_name": "Zing Zhu’s Oyster Farm",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 572,
      "problem_letter": "G",
      "problem_id": 5766,
      "problem_name": "할아버지는 유명해!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 572,
      "problem_letter": "H",
      "problem_id": 5767,
      "problem_name": "Cutting Edge",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 573,
      "problem_letter": "A",
      "problem_id": 5770,
      "problem_name": "Dice",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 573,
      "problem_letter": "B",
      "problem_id": 5771,
      "problem_name": "Secure Region",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 573,
      "problem_letter": "C",
      "problem_id": 5772,
      "problem_name": "Runner Pawns",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 573,
      "problem_letter": "D",
      "problem_id": 5773,
      "problem_name": "The Splitting Club",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 573,
      "problem_letter": "E",
      "problem_id": 5774,
      "problem_name": "Kryptonite Mine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 573,
      "problem_letter": "F",
      "problem_id": 5775,
      "problem_name": "X-Mart",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 573,
      "problem_letter": "G",
      "problem_id": 5776,
      "problem_name": "Telecommunication Partners",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 573,
      "problem_letter": "H",
      "problem_id": 5777,
      "problem_name": "Child Play",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 573,
      "problem_letter": "PA",
      "problem_id": 5768,
      "problem_name": "Divide and Conquer",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 573,
      "problem_letter": "PB",
      "problem_id": 5769,
      "problem_name": "Make a Guess",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "A",
      "problem_id": 5781,
      "problem_name": "Grandpa’s Rubik Cube",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "B",
      "problem_id": 5782,
      "problem_name": "This Sentence is False",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "bruteforcing",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bruteforcing",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "C",
      "problem_id": 5783,
      "problem_name": "Will Indiana Jones Get There?",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "D",
      "problem_id": 5784,
      "problem_name": "Duty Free Shop",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 574,
      "problem_letter": "E",
      "problem_id": 5785,
      "problem_name": "Not Too Convex Hull",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "F",
      "problem_id": 5786,
      "problem_name": "I hate SPAM, but some people love it",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "G",
      "problem_id": 5787,
      "problem_name": "Noise Effect",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "H",
      "problem_id": 5788,
      "problem_name": "Supermarket",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "PA",
      "problem_id": 5778,
      "problem_name": "Fake tickets",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 574,
      "problem_letter": "PB",
      "problem_id": 5779,
      "problem_name": "Square Lottery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 574,
      "problem_letter": "PC",
      "problem_id": 5780,
      "problem_name": "Uncle Tom’s Inherited Land",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "grid graph",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "grid_graph",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "A",
      "problem_id": 5789,
      "problem_name": "한다 안한다",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "B",
      "problem_id": 5790,
      "problem_name": "Log Books",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "C",
      "problem_id": 5791,
      "problem_name": "Myth Busters",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "D",
      "problem_id": 5792,
      "problem_name": "CrossNumber",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 575,
      "problem_letter": "E",
      "problem_id": 5793,
      "problem_name": "Movers Problems",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "breadth-first search",
        "sweeping",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "bfs",
        "sweeping",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "F",
      "problem_id": 5794,
      "problem_name": "Monkey Business",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 575,
      "problem_letter": "G",
      "problem_id": 5795,
      "problem_name": "Fridge lock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 575,
      "problem_letter": "H",
      "problem_id": 5796,
      "problem_name": "Fat Ninjas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 575,
      "problem_letter": "I",
      "problem_id": 5797,
      "problem_name": "Class Packing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "greedy",
        "sweeping"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "J",
      "problem_id": 5798,
      "problem_name": "Esspe-Peasee",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "extended euclidean algorithm",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "extended_euclidean",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 575,
      "problem_letter": "K",
      "problem_id": 5799,
      "problem_name": "Slithering Serpent",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 712,
      "problem_letter": "A",
      "problem_id": 6249,
      "problem_name": "TV Reports",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 712,
      "problem_letter": "B",
      "problem_id": 6250,
      "problem_name": "ATM PIN Theft",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "combinatorics",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 712,
      "problem_letter": "C",
      "problem_id": 6251,
      "problem_name": "Leaking Dike",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 712,
      "problem_letter": "D",
      "problem_id": 6252,
      "problem_name": "Fire Evacuation Plan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 712,
      "problem_letter": "E",
      "problem_id": 6253,
      "problem_name": "Forgetful Waiter",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching",
        "data structures"
      ],
      "tag_keys": [
        "bipartite_matching",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 712,
      "problem_letter": "F",
      "problem_id": 6254,
      "problem_name": "Computerizing a Stockroom",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "case work",
        "data structures",
        "set / map by hashing",
        "implementation",
        "parsing",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "hash_set",
        "implementation",
        "parsing",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 712,
      "problem_letter": "G",
      "problem_id": 6255,
      "problem_name": "Harvesting a Farm",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "flood-fill",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "flood_fill",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 712,
      "problem_letter": "H",
      "problem_id": 6256,
      "problem_name": "Rectangular Painting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 712,
      "problem_letter": "I",
      "problem_id": 6257,
      "problem_name": "Corrupted BST",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 712,
      "problem_letter": "J",
      "problem_id": 6258,
      "problem_name": "Sightseeing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 713,
      "problem_letter": "A",
      "problem_id": 6259,
      "problem_name": "WonderTeam",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 713,
      "problem_letter": "B",
      "problem_id": 6260,
      "problem_name": "Encrypted SMS",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 713,
      "problem_letter": "C",
      "problem_id": 6261,
      "problem_name": "Hopeless Coach",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 713,
      "problem_letter": "D",
      "problem_id": 6262,
      "problem_name": "Yungom",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 713,
      "problem_letter": "E",
      "problem_id": 6263,
      "problem_name": "New Island",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 713,
      "problem_letter": "F",
      "problem_id": 6264,
      "problem_name": "Sub-dictionary",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 713,
      "problem_letter": "G",
      "problem_id": 6265,
      "problem_name": "Sharif Super Computer",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 713,
      "problem_letter": "H",
      "problem_id": 6266,
      "problem_name": "Circle Artwork",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 713,
      "problem_letter": "I",
      "problem_id": 6267,
      "problem_name": "Crazy Bits",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow",
        "hungarian"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf",
        "hungarian"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        }
      ]
    },
    {
      "contest_id": 713,
      "problem_letter": "J",
      "problem_id": 6268,
      "problem_name": "누리카베",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "constructive",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 714,
      "problem_letter": "A",
      "problem_id": 6269,
      "problem_name": "Team Arrangement",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 714,
      "problem_letter": "B",
      "problem_id": 6270,
      "problem_name": "Barbara Bennett's Wild Numbers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 714,
      "problem_letter": "C",
      "problem_id": 6271,
      "problem_name": "Calculating Taxi Fare",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 714,
      "problem_letter": "D",
      "problem_id": 6272,
      "problem_name": "Party at Hali-Bula",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 714,
      "problem_letter": "E",
      "problem_id": 6273,
      "problem_name": "Against Mammoths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 714,
      "problem_letter": "F",
      "problem_id": 6274,
      "problem_name": "Chessboard Dance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 714,
      "problem_letter": "G",
      "problem_id": 1228,
      "problem_name": "전쟁",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "set / map",
        "set / map by hashing",
        "dynamic programming on trees",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "set",
        "hash_set",
        "dp_tree",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 714,
      "problem_letter": "H",
      "problem_id": 6276,
      "problem_name": "Treasure of the Chimp Island",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 714,
      "problem_letter": "I",
      "problem_id": 1169,
      "problem_name": "정사각형 진열",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 715,
      "problem_letter": "A",
      "problem_id": 6278,
      "problem_name": "Zombie’s Treasure Chest",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 715,
      "problem_letter": "B",
      "problem_id": 6279,
      "problem_name": "삼각형 피자",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 715,
      "problem_letter": "C",
      "problem_id": 6280,
      "problem_name": "Xavier is Learning to Count",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "case work",
        "inclusion and exclusion",
        "fast fourier transform",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "case_work",
        "inclusion_and_exclusion",
        "fft",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 715,
      "problem_letter": "D",
      "problem_id": 6281,
      "problem_name": "Winmine.exe",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 715,
      "problem_letter": "E",
      "problem_id": 6282,
      "problem_name": "Very Boring Homework",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 715,
      "problem_letter": "F",
      "problem_id": 6283,
      "problem_name": "Universal Question Answering System",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 715,
      "problem_letter": "G",
      "problem_id": 6284,
      "problem_name": "Triangles and Quadrangle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 715,
      "problem_letter": "H",
      "problem_id": 6285,
      "problem_name": "Share the Cakes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 715,
      "problem_letter": "I",
      "problem_id": 6286,
      "problem_name": "리벤지 오브 피보나치",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "tree",
        "set / map",
        "set / map by hashing",
        "arbitrary precision / big integers",
        "trie"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "trees",
        "set",
        "hash_set",
        "arbitrary_precision",
        "trie"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 715,
      "problem_letter": "J",
      "problem_id": 6287,
      "problem_name": "Quelling Blade",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 717,
      "problem_letter": "A",
      "problem_id": 6294,
      "problem_name": "Solitaire",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "bruteforcing",
        "set / map",
        "meet in the middle"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "set",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 717,
      "problem_letter": "B",
      "problem_id": 6295,
      "problem_name": "Left labyrinths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 717,
      "problem_letter": "C",
      "problem_id": 6296,
      "problem_name": "Crazy Search",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 717,
      "problem_letter": "D",
      "problem_id": 6297,
      "problem_name": "Intervals",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 717,
      "problem_letter": "E",
      "problem_id": 6298,
      "problem_name": "Family",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 717,
      "problem_letter": "F",
      "problem_id": 6299,
      "problem_name": "Timetable",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 717,
      "problem_letter": "G",
      "problem_id": 6300,
      "problem_name": "단어 퍼즐",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "tree",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "trees",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 717,
      "problem_letter": "H",
      "problem_id": 6301,
      "problem_name": "Water Treatment Plants",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 717,
      "problem_letter": "I",
      "problem_id": 6302,
      "problem_name": "Servers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "A",
      "problem_id": 6303,
      "problem_name": "Optimal Programs",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "bruteforcing",
        "sorting",
        "simulation",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "sorting",
        "simulation",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "B",
      "problem_id": 6304,
      "problem_name": "The die is cast",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "sorting",
        "breadth-first search",
        "depth-first search",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "sorting",
        "bfs",
        "dfs",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "C",
      "problem_id": 6305,
      "problem_name": "It's not a Bug, it's a Feature!",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "D",
      "problem_id": 6306,
      "problem_name": "Reflections",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "E",
      "problem_id": 6307,
      "problem_name": "Going in circles on Alpha Centauri",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 718,
      "problem_letter": "F",
      "problem_id": 6308,
      "problem_name": "Blowing Fuses",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "G",
      "problem_id": 6309,
      "problem_name": "Fast Food",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 718,
      "problem_letter": "H",
      "problem_id": 6310,
      "problem_name": "Sorting Slides",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "bipartite matching"
      ],
      "tag_keys": [
        "bruteforcing",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 718,
      "problem_letter": "I",
      "problem_id": 6311,
      "problem_name": "Single-Player Games",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 719,
      "problem_letter": "A",
      "problem_id": 6312,
      "problem_name": "Triangles",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "B",
      "problem_id": 6313,
      "problem_name": "Instant Complexity",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 719,
      "problem_letter": "C",
      "problem_id": 6314,
      "problem_name": "There’s treasure everywhere!",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry",
        "implementation",
        "parsing",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "parsing",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "D",
      "problem_id": 6315,
      "problem_name": "Video Surveillance",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "E",
      "problem_id": 6316,
      "problem_name": "Pushing Boxes",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "F",
      "problem_id": 6317,
      "problem_name": "Always on the run",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "G",
      "problem_id": 6318,
      "problem_name": "Box of Bricks",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "H",
      "problem_id": 6319,
      "problem_name": "Island of Logic",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "I",
      "problem_id": 6320,
      "problem_name": "MBone",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 719,
      "problem_letter": "PA",
      "problem_id": 6321,
      "problem_name": "IBM 빼기 1",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "string",
        "implementation"
      ],
      "tag_keys": [
        "string",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "PB",
      "problem_id": 6322,
      "problem_name": "직각 삼각형의 두 변",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "PC",
      "problem_id": 6323,
      "problem_name": "Carbon Dating",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "PD",
      "problem_id": 6324,
      "problem_name": "URLs",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 719,
      "problem_letter": "PE",
      "problem_id": 6325,
      "problem_name": "Definite Values",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 720,
      "problem_letter": "A",
      "problem_id": 5800,
      "problem_name": "성적 통계",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 720,
      "problem_letter": "B",
      "problem_id": 5801,
      "problem_name": "Avoiding a disaster",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "arithmetic",
        "case work",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "arithmetic",
        "case_work",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 720,
      "problem_letter": "C",
      "problem_id": 5802,
      "problem_name": "Roll-call in Woop Woop High",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 720,
      "problem_letter": "D",
      "problem_id": 5803,
      "problem_name": "Difficult Routes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 720,
      "problem_letter": "E",
      "problem_id": 5804,
      "problem_name": "RealPhobia",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 720,
      "problem_letter": "F",
      "problem_id": 5805,
      "problem_name": "Insidious Branding",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 720,
      "problem_letter": "G",
      "problem_id": 5806,
      "problem_name": "Help-or-else",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 720,
      "problem_letter": "H",
      "problem_id": 5807,
      "problem_name": "Pahom on Water",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 720,
      "problem_letter": "I",
      "problem_id": 5808,
      "problem_name": "Detour Buster",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 720,
      "problem_letter": "J",
      "problem_id": 5809,
      "problem_name": "Oil Skimming",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 720,
      "problem_letter": "K",
      "problem_id": 5810,
      "problem_name": "Numbers Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 721,
      "problem_letter": "A",
      "problem_id": 6326,
      "problem_name": "Atlantis",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "sorting",
        "sweeping",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "sorting",
        "sweeping",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 721,
      "problem_letter": "B",
      "problem_id": 6327,
      "problem_name": "Cog-Wheels",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 721,
      "problem_letter": "C",
      "problem_id": 6328,
      "problem_name": "Erdös Numbers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "graphs",
        "graph_traversal",
        "hash_set",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 721,
      "problem_letter": "D",
      "problem_id": 6329,
      "problem_name": "Number Game",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "game theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "game_theory",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 721,
      "problem_letter": "E",
      "problem_id": 6330,
      "problem_name": "Ouroboros Snake",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 721,
      "problem_letter": "F",
      "problem_id": 6331,
      "problem_name": "Fold-up Patterns",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 721,
      "problem_letter": "G",
      "problem_id": 6332,
      "problem_name": "Railroad",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 721,
      "problem_letter": "H",
      "problem_id": 6333,
      "problem_name": "Smith Numbers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "A",
      "problem_id": 6334,
      "problem_name": "Maze",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "B",
      "problem_id": 6335,
      "problem_name": "Date bugs",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "C",
      "problem_id": 6336,
      "problem_name": "Robbery",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "D",
      "problem_id": 6337,
      "problem_name": "Dreisam Equations",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "parsing",
        "recursion"
      ],
      "tag_keys": [
        "string",
        "parsing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "E",
      "problem_id": 2290,
      "problem_name": "LCD Test",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "F",
      "problem_id": 6338,
      "problem_name": "Formatting Text",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "G",
      "problem_id": 6339,
      "problem_name": "The Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "H",
      "problem_id": 6340,
      "problem_name": "Dividing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 722,
      "problem_letter": "I",
      "problem_id": 6341,
      "problem_name": "S-Trees",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "binary search",
        "simulation",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "binary_search",
        "simulation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 723,
      "problem_letter": "A",
      "problem_id": 14540,
      "problem_name": "Railway Station",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 723,
      "problem_letter": "B",
      "problem_id": 6343,
      "problem_name": "King",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 723,
      "problem_letter": "C",
      "problem_id": 6344,
      "problem_name": "Prime Land",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 723,
      "problem_letter": "D",
      "problem_id": 6345,
      "problem_name": "Word",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 723,
      "problem_letter": "E",
      "problem_id": 6346,
      "problem_name": "Time",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 723,
      "problem_letter": "F",
      "problem_id": 6347,
      "problem_name": "Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 723,
      "problem_letter": "G",
      "problem_id": 6348,
      "problem_name": "Append",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 723,
      "problem_letter": "H",
      "problem_id": 6349,
      "problem_name": "Gossiping",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 724,
      "problem_letter": "A",
      "problem_id": 6350,
      "problem_name": "Tin Cutter",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 724,
      "problem_letter": "B",
      "problem_id": 6351,
      "problem_name": "FORCAL",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 724,
      "problem_letter": "C",
      "problem_id": 6352,
      "problem_name": "L-system",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 724,
      "problem_letter": "D",
      "problem_id": 6353,
      "problem_name": "Packets",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "case work",
        "geometry"
      ],
      "tag_keys": [
        "case_work",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 724,
      "problem_letter": "E",
      "problem_id": 6354,
      "problem_name": "Crosswords",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 724,
      "problem_letter": "F",
      "problem_id": 6355,
      "problem_name": "Intervals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 724,
      "problem_letter": "G",
      "problem_id": 6356,
      "problem_name": "Robot",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 724,
      "problem_letter": "H",
      "problem_id": 6357,
      "problem_name": "Network",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "bruteforcing",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bruteforcing",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "A",
      "problem_id": 6358,
      "problem_name": "Four Quarters",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "B",
      "problem_id": 6359,
      "problem_name": "만취한 상범",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "C",
      "problem_id": 6360,
      "problem_name": "L-I-N-G-O: LINGO",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "case work",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "D",
      "problem_id": 6361,
      "problem_name": "Number Base Conversion",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "E",
      "problem_id": 6362,
      "problem_name": "Unimodal Palindromic Decompositions",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "F",
      "problem_id": 6363,
      "problem_name": "Extended Lights Out",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 725,
      "problem_letter": "G",
      "problem_id": 6364,
      "problem_name": "Dehuff",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 725,
      "problem_letter": "H",
      "problem_id": 6365,
      "problem_name": "Picture Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 725,
      "problem_letter": "I",
      "problem_id": 6366,
      "problem_name": "Strictly Inscribed Similar Triangles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 726,
      "problem_letter": "A",
      "problem_id": 6367,
      "problem_name": "Color Me Less",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "B",
      "problem_id": 6368,
      "problem_name": "P,MTHBGWB",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "C",
      "problem_id": 6369,
      "problem_name": "Plato’s Blocks",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "graph theory",
        "greedy",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "greedy",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "D",
      "problem_id": 6370,
      "problem_name": "Bode Plot",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "calculus",
        "physics"
      ],
      "tag_keys": [
        "math",
        "calculus",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "E",
      "problem_id": 6371,
      "problem_name": "Follow My Logic",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation",
        "dag"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "F",
      "problem_id": 6372,
      "problem_name": "Microprocessor Simulation",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "G",
      "problem_id": 6373,
      "problem_name": "Round and Round We Go",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "simulation",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "simulation",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "H",
      "problem_id": 6374,
      "problem_name": "To the Max",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 726,
      "problem_letter": "I",
      "problem_id": 6375,
      "problem_name": "Set Me",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "A",
      "problem_id": 6376,
      "problem_name": "e 계산",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "B",
      "problem_id": 6377,
      "problem_name": "Problem Bee",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "case work",
        "geometry"
      ],
      "tag_keys": [
        "case_work",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "C",
      "problem_id": 6378,
      "problem_name": "디지털 루트",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "D",
      "problem_id": 6379,
      "problem_name": "Scramble Sort",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "parsing",
        "sorting",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "E",
      "problem_id": 6380,
      "problem_name": "A Well-Formed Problem",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "F",
      "problem_id": 6381,
      "problem_name": "Entropy",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "G",
      "problem_id": 6382,
      "problem_name": "N-Credible Mazes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "depth-first search",
        "set / map by hashing",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "bfs",
        "dfs",
        "hash_set",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 727,
      "problem_letter": "H",
      "problem_id": 6383,
      "problem_name": "SPF",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "flood-fill",
        "articulation points and bridges"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "dfs",
        "flood_fill",
        "articulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        }
      ]
    },
    {
      "contest_id": 728,
      "problem_letter": "1",
      "problem_id": 6384,
      "problem_name": "Area",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "area of a polygon",
        "pick's theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "polygon_area",
        "pick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "pick",
          "name": "pick's theorem",
          "boj_tag_id": 187
        }
      ]
    },
    {
      "contest_id": 728,
      "problem_letter": "2",
      "problem_id": 6385,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 728,
      "problem_letter": "3",
      "problem_id": 6386,
      "problem_name": "Cog-Wheels",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "math"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 728,
      "problem_letter": "4",
      "problem_id": 6387,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 728,
      "problem_letter": "5",
      "problem_id": 6388,
      "problem_name": "Enigma",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 728,
      "problem_letter": "6",
      "problem_id": 6389,
      "problem_name": "Gridland",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 728,
      "problem_letter": "7",
      "problem_id": 6390,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 728,
      "problem_letter": "8",
      "problem_id": 6391,
      "problem_name": "Number Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 728,
      "problem_letter": "9",
      "problem_id": 6392,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 729,
      "problem_letter": "A",
      "problem_id": 6393,
      "problem_name": "Code Breaking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 729,
      "problem_letter": "B",
      "problem_id": 6394,
      "problem_name": "Eeny Meeny",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 729,
      "problem_letter": "C",
      "problem_id": 6395,
      "problem_name": "Hearts",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 729,
      "problem_letter": "D",
      "problem_id": 6396,
      "problem_name": "Bonus Bonds",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 729,
      "problem_letter": "E",
      "problem_id": 6397,
      "problem_name": "Bit Maps",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "divide and conquer"
      ],
      "tag_keys": [
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 729,
      "problem_letter": "F",
      "problem_id": 6398,
      "problem_name": "Laser Lines",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 729,
      "problem_letter": "G",
      "problem_id": 6399,
      "problem_name": "Roman Numerals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 730,
      "problem_letter": "A",
      "problem_id": 6400,
      "problem_name": "Calculator Language",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 730,
      "problem_letter": "B",
      "problem_id": 6401,
      "problem_name": "Network Wars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 730,
      "problem_letter": "D",
      "problem_id": 6402,
      "problem_name": "Strategy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 730,
      "problem_letter": "E",
      "problem_id": 6403,
      "problem_name": "Keywords",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 730,
      "problem_letter": "F",
      "problem_id": 6404,
      "problem_name": "City Navigation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 730,
      "problem_letter": "G",
      "problem_id": 6405,
      "problem_name": "Paper Folding",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 730,
      "problem_letter": "H",
      "problem_id": 6406,
      "problem_name": "Shuffling Patience",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 731,
      "problem_letter": "A",
      "problem_id": 6407,
      "problem_name": "String Computer",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 731,
      "problem_letter": "B",
      "problem_id": 6408,
      "problem_name": "Stamps",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 731,
      "problem_letter": "C",
      "problem_id": 6409,
      "problem_name": "Making Change",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 731,
      "problem_letter": "D",
      "problem_id": 6410,
      "problem_name": "The Sultan's Successors",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 731,
      "problem_letter": "E",
      "problem_id": 6411,
      "problem_name": "Theseus and the Minotaur",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 731,
      "problem_letter": "F",
      "problem_id": 6412,
      "problem_name": "Xenosemantics",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 731,
      "problem_letter": "G",
      "problem_id": 6413,
      "problem_name": "Clock Patience",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 731,
      "problem_letter": "H",
      "problem_id": 6414,
      "problem_name": "Car Trialling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 732,
      "problem_letter": "1",
      "problem_id": 6415,
      "problem_name": "Mapping the Route",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 732,
      "problem_letter": "2",
      "problem_id": 6416,
      "problem_name": "트리인가?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "tree",
        "graph theory",
        "data structures"
      ],
      "tag_keys": [
        "trees",
        "graphs",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 732,
      "problem_letter": "3",
      "problem_id": 6417,
      "problem_name": "코코넛 그 두 번째 이야기",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 732,
      "problem_letter": "4",
      "problem_id": 6418,
      "problem_name": "Nonstop Travel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 732,
      "problem_letter": "5",
      "problem_id": 6419,
      "problem_name": "Doing Windows",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 732,
      "problem_letter": "6",
      "problem_id": 6420,
      "problem_name": "Numerically Speaking",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 733,
      "problem_letter": "A",
      "problem_id": 6421,
      "problem_name": "It's Ir-Resist-Able",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 733,
      "problem_letter": "B",
      "problem_id": 6422,
      "problem_name": "Getting Chorded",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "case work",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 733,
      "problem_letter": "C",
      "problem_id": 6423,
      "problem_name": "Run, Run, Runaround Numbers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 733,
      "problem_letter": "D",
      "problem_id": 6424,
      "problem_name": "Optimal Array Multiplication Sequence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 733,
      "problem_letter": "E",
      "problem_id": 6425,
      "problem_name": "Transferable Voting",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 733,
      "problem_letter": "F",
      "problem_id": 6426,
      "problem_name": "Psuedo-Random Numbers",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "simulation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 733,
      "problem_letter": "G",
      "problem_id": 6427,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "A",
      "problem_id": 6428,
      "problem_name": "Stars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "B",
      "problem_id": 6429,
      "problem_name": "Hexagon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "C",
      "problem_id": 6430,
      "problem_name": "Domino Effect",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "dijkstra's",
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bruteforcing",
        "dijkstra",
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 734,
      "problem_letter": "D",
      "problem_id": 6431,
      "problem_name": "Pendulum",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "E",
      "problem_id": 6432,
      "problem_name": "Border",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 734,
      "problem_letter": "F",
      "problem_id": 6433,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "G",
      "problem_id": 6434,
      "problem_name": "Ships",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "H",
      "problem_id": 6435,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 734,
      "problem_letter": "PA",
      "problem_id": 6436,
      "problem_name": "Floppies",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 734,
      "problem_letter": "PB",
      "problem_id": 6437,
      "problem_name": "Golf",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 734,
      "problem_letter": "PC",
      "problem_id": 6438,
      "problem_name": "Reverse Text",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 735,
      "problem_letter": "A",
      "problem_id": 6439,
      "problem_name": "교차",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 735,
      "problem_letter": "B",
      "problem_id": 6440,
      "problem_name": "Synchronous Design",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 735,
      "problem_letter": "C",
      "problem_id": 6441,
      "problem_name": "Graph Coloring",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "bruteforcing",
        "heuristics"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 735,
      "problem_letter": "D",
      "problem_id": 6442,
      "problem_name": "Triangle",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "case work",
        "geometry",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "geometry",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 735,
      "problem_letter": "E",
      "problem_id": 6443,
      "problem_name": "애너그램",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "backtracking"
      ],
      "tag_keys": [
        "string",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 735,
      "problem_letter": "F",
      "problem_id": 6444,
      "problem_name": "스프레드시트",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "directed acyclic graph",
        "dynamic programming",
        "graph theory",
        "parsing",
        "string",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "dp",
        "graphs",
        "parsing",
        "string",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 735,
      "problem_letter": "G",
      "problem_id": 6445,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 735,
      "problem_letter": "H",
      "problem_id": 6446,
      "problem_name": "Peter's Calculator",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 735,
      "problem_letter": "J",
      "problem_id": 6447,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 736,
      "problem_letter": "1",
      "problem_id": 6448,
      "problem_name": "Stockbroker Grapevine",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 736,
      "problem_letter": "2",
      "problem_id": 6449,
      "problem_name": "Frame Stacking",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "graph theory",
        "backtracking",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "backtracking",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 736,
      "problem_letter": "3",
      "problem_id": 6450,
      "problem_name": "Channel Allocation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 736,
      "problem_letter": "4",
      "problem_id": 6451,
      "problem_name": "Alien Security",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "bruteforcing",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bruteforcing",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 736,
      "problem_letter": "5",
      "problem_id": 6452,
      "problem_name": "Octal Fractions",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 736,
      "problem_letter": "6",
      "problem_id": 6453,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 737,
      "problem_letter": "A",
      "problem_id": 6454,
      "problem_name": "Trip Routing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "dijkstra's",
        "floyd–warshall",
        "graph theory",
        "set / map by hashing",
        "implementation",
        "parsing",
        "shortest path",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dijkstra",
        "floyd_warshall",
        "graphs",
        "hash_set",
        "implementation",
        "parsing",
        "shortest_path",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 737,
      "problem_letter": "B",
      "problem_id": 6455,
      "problem_name": "Transaction Processing",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 737,
      "problem_letter": "C",
      "problem_id": 6456,
      "problem_name": "Perfect Hash",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 737,
      "problem_letter": "D",
      "problem_id": 6457,
      "problem_name": "Pascal Program Lengths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 737,
      "problem_letter": "E",
      "problem_id": 6458,
      "problem_name": "Circle Through Three Points",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 738,
      "problem_letter": "F",
      "problem_id": 6459,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 739,
      "problem_letter": "1",
      "problem_id": 6460,
      "problem_name": "Pizza Anyone?",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 739,
      "problem_letter": "2",
      "problem_id": 6461,
      "problem_name": "Adam's Genes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 739,
      "problem_letter": "3",
      "problem_id": 6462,
      "problem_name": "Risk",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 739,
      "problem_letter": "4",
      "problem_id": 6463,
      "problem_name": "팩트",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 739,
      "problem_letter": "5",
      "problem_id": 6464,
      "problem_name": "Horse Shoe Scoring",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 739,
      "problem_letter": "6",
      "problem_id": 6465,
      "problem_name": "Stats",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 739,
      "problem_letter": "7",
      "problem_id": 6466,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 740,
      "problem_letter": "1",
      "problem_id": 6467,
      "problem_name": "Prime Cuts",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 740,
      "problem_letter": "2",
      "problem_id": 6468,
      "problem_name": "Gears on a Board",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 740,
      "problem_letter": "3",
      "problem_id": 6469,
      "problem_name": "Uniform Generator",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 740,
      "problem_letter": "4",
      "problem_id": 6470,
      "problem_name": "Excuses, Excuses!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "parsing",
        "regular expression",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "regex",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 740,
      "problem_letter": "5",
      "problem_id": 6471,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 740,
      "problem_letter": "6",
      "problem_id": 6472,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 741,
      "problem_letter": "1",
      "problem_id": 6473,
      "problem_name": "Unix ls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 741,
      "problem_letter": "2",
      "problem_id": 6474,
      "problem_name": "Palindromes",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 741,
      "problem_letter": "3",
      "problem_id": 6475,
      "problem_name": "M*A*S*H",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 741,
      "problem_letter": "4",
      "problem_id": 6476,
      "problem_name": "Postscript",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "parsing",
        "precomputation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "precomputation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 741,
      "problem_letter": "5",
      "problem_id": 6477,
      "problem_name": "Radar Scopes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 741,
      "problem_letter": "6",
      "problem_id": 6478,
      "problem_name": "Message Routing",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "graph theory",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 742,
      "problem_letter": "A",
      "problem_id": 6479,
      "problem_name": "Factorial Frequencies",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 742,
      "problem_letter": "B",
      "problem_id": 6480,
      "problem_name": "Identifying Legal Pascal Real Constants",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 742,
      "problem_letter": "C",
      "problem_id": 6481,
      "problem_name": "Extrapolation Using a Difference Table",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "polynomial interpolation"
      ],
      "tag_keys": [
        "math",
        "polynomial_interpolation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "polynomial_interpolation",
          "name": "polynomial interpolation",
          "boj_tag_id": 209
        }
      ]
    },
    {
      "contest_id": 742,
      "problem_letter": "D",
      "problem_id": 6482,
      "problem_name": "Evaluating Simple C Expressions",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 742,
      "problem_letter": "E",
      "problem_id": 6483,
      "problem_name": "The Finite State Text-Processing Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 742,
      "problem_letter": "F",
      "problem_id": 6484,
      "problem_name": "PostScript Emulation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 742,
      "problem_letter": "G",
      "problem_id": 6485,
      "problem_name": "Inventory Maintenance",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "1",
      "problem_id": 6486,
      "problem_name": "Cowculations",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "2",
      "problem_id": 6487,
      "problem_name": "두 직선의 교차 여부",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "3",
      "problem_id": 6488,
      "problem_name": "Hi-Q",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "4",
      "problem_id": 6489,
      "problem_name": "Call Forwarding",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "simulation",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "simulation",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "5",
      "problem_id": 6490,
      "problem_name": "Making the Grade",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "mathematics",
        "simulation",
        "statistics"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "simulation",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "6",
      "problem_id": 6491,
      "problem_name": "Perfection",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "7",
      "problem_id": 6492,
      "problem_name": "Shipping Routes",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "shortest path",
        "set / map by hashing",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "shortest_path",
        "hash_set",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 743,
      "problem_letter": "8",
      "problem_id": 6493,
      "problem_name": "Slurpys",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "string",
        "recursion",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "recursion",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "A",
      "problem_id": 6612,
      "problem_name": "개미의 이동",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "B",
      "problem_id": 6613,
      "problem_name": "버그잡는 꿍",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "string",
        "stack",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "stack",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "C",
      "problem_id": 6606,
      "problem_name": "Charlie the Cockchafer",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "D",
      "problem_id": 6607,
      "problem_name": "Gregory the Grasshopper",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "E",
      "problem_id": 6608,
      "problem_name": "Lisa the Ladybug",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 758,
      "problem_letter": "F",
      "problem_id": 6609,
      "problem_name": "모기곱셈",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "G",
      "problem_id": 6610,
      "problem_name": "Rhinoceros Beetle",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 758,
      "problem_letter": "H",
      "problem_id": 6611,
      "problem_name": "Simon the Spider",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "depth-first search",
        "set / map by hashing",
        "disjoint set",
        "priority queue",
        "minimum spanning tree",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "dfs",
        "hash_set",
        "disjoint_set",
        "priority_queue",
        "mst",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "A",
      "problem_id": 6614,
      "problem_name": "Analog Clock Display",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "B",
      "problem_id": 6615,
      "problem_name": "콜라츠 추측",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "C",
      "problem_id": 6616,
      "problem_name": "문자열 암호화",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "D",
      "problem_id": 6617,
      "problem_name": "Mine the Gradient",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 759,
      "problem_letter": "E",
      "problem_id": 6618,
      "problem_name": "Invasion",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "F",
      "problem_id": 6619,
      "problem_name": "Intergalactic Mortgage",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "G",
      "problem_id": 6620,
      "problem_name": "Simple Polygon",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "set / map",
        "sweeping",
        "set / map by trees",
        "line segment intersection check"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "set",
        "sweeping",
        "tree_set",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "H",
      "problem_id": 6621,
      "problem_name": "Ambiguous Result",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 759,
      "problem_letter": "I",
      "problem_id": 6622,
      "problem_name": "Domino tiling",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 760,
      "problem_letter": "A",
      "problem_id": 6623,
      "problem_name": "Arbitrage?",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "floyd–warshall",
        "graph theory",
        "set / map by hashing",
        "parsing",
        "string",
        "shortest path",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "floyd_warshall",
        "graphs",
        "hash_set",
        "parsing",
        "string",
        "shortest_path",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 760,
      "problem_letter": "B",
      "problem_id": 6624,
      "problem_name": "Bus Schedules",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 760,
      "problem_letter": "C",
      "problem_id": 6625,
      "problem_name": "Bus Clock Display",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 760,
      "problem_letter": "D",
      "problem_id": 6626,
      "problem_name": "Measuring Problem Difficulty",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "cdq",
        "data structures",
        "divide and conquer",
        "dynamic programming",
        "segment tree",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "cdq",
        "data_structures",
        "divide_and_conquer",
        "dp",
        "segtree",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "cdq",
          "name": "cdq",
          "boj_tag_id": 237
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 760,
      "problem_letter": "E",
      "problem_id": 6627,
      "problem_name": "The Easiest Problem is This One",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 760,
      "problem_letter": "F",
      "problem_id": 6628,
      "problem_name": "Prohibición de fumar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 760,
      "problem_letter": "G",
      "problem_id": 6629,
      "problem_name": "Pyramid Guards",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 760,
      "problem_letter": "H",
      "problem_id": 6630,
      "problem_name": "Hack around the Lock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 760,
      "problem_letter": "I",
      "problem_id": 6631,
      "problem_name": "God Save the i-th Queen",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "A",
      "problem_id": 6632,
      "problem_name": "Arable Area",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "C",
      "problem_id": 6633,
      "problem_name": "Clock Captcha",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "D",
      "problem_id": 6634,
      "problem_name": "Digital Display",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "I",
      "problem_id": 6635,
      "problem_name": "Intriguing Identifiers",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "L",
      "problem_id": 6636,
      "problem_name": "Letter Lies",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "O",
      "problem_id": 6637,
      "problem_name": "Odd Opportunities",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 761,
      "problem_letter": "P",
      "problem_id": 6638,
      "problem_name": "Peculiar Primes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 761,
      "problem_letter": "R",
      "problem_id": 6639,
      "problem_name": "Robotic Rails",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 761,
      "problem_letter": "S",
      "problem_id": 6640,
      "problem_name": "Suspicious Stocks",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "A",
      "problem_id": 6641,
      "problem_name": "Alea iacta est",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "B",
      "problem_id": 6642,
      "problem_name": "On-Line Banking",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "C",
      "problem_id": 6643,
      "problem_name": "International Collegiate Programming Contest",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 762,
      "problem_letter": "D",
      "problem_id": 6644,
      "problem_name": "Careful Declaration",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "longest common subsequence"
      ],
      "tag_keys": [
        "dp",
        "lcs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "lcs",
          "name": "longest common subsequence",
          "boj_tag_id": 219
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "E",
      "problem_id": 6645,
      "problem_name": "Stock Exchange",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "F",
      "problem_id": 6646,
      "problem_name": "Wooden Fence",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "G",
      "problem_id": 6647,
      "problem_name": "Safe Gambling",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "prefix sum",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "prefix_sum",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "H",
      "problem_id": 6648,
      "problem_name": "Government Help",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 762,
      "problem_letter": "I",
      "problem_id": 6649,
      "problem_name": "Tree Insertions",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "arbitrary precision / big integers",
        "combinatorics",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "tree"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "combinatorics",
        "dfs",
        "graphs",
        "graph_traversal",
        "math",
        "trees"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 763,
      "problem_letter": "B",
      "problem_id": 6650,
      "problem_name": "Catch the Bus!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 763,
      "problem_letter": "C",
      "problem_id": 6651,
      "problem_name": "Calendar of Events",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 763,
      "problem_letter": "E",
      "problem_id": 6652,
      "problem_name": "Roman Expressions",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 763,
      "problem_letter": "G",
      "problem_id": 6653,
      "problem_name": "Geometric Shapes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 763,
      "problem_letter": "I",
      "problem_id": 6654,
      "problem_name": "Corporate Identity",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "string",
        "binary search",
        "set / map",
        "hashing",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "binary_search",
        "set",
        "hashing",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 763,
      "problem_letter": "M",
      "problem_id": 6655,
      "problem_name": "Money Money Money, Must Be Funny",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 763,
      "problem_letter": "R",
      "problem_id": 6656,
      "problem_name": "Railway Transportation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "constructive",
        "data structures",
        "greedy",
        "parametric search",
        "queue",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "constructive",
        "data_structures",
        "greedy",
        "parametric_search",
        "queue",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 763,
      "problem_letter": "S",
      "problem_id": 6657,
      "problem_name": "Soccer Tournament",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "case work",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 763,
      "problem_letter": "T",
      "problem_id": 6658,
      "problem_name": "Hypertheseus",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "A",
      "problem_id": 6659,
      "problem_name": "All Friends",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "depth-first search",
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dfs",
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "B",
      "problem_id": 6660,
      "problem_name": "Board Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 764,
      "problem_letter": "C",
      "problem_id": 6661,
      "problem_name": "Crane",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "data structures",
        "geometry",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "geometry",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "D",
      "problem_id": 6662,
      "problem_name": "Divisors",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "E",
      "problem_id": 6663,
      "problem_name": "Emag eht htiw Em Pleh",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "F",
      "problem_id": 6664,
      "problem_name": "Failing Roads",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "parsing",
        "recursion",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "recursion",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "G",
      "problem_id": 6665,
      "problem_name": "Go Endgame",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "greedy",
        "simulation",
        "game theory"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "H",
      "problem_id": 6666,
      "problem_name": "Help Me with the Game",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 764,
      "problem_letter": "I",
      "problem_id": 6667,
      "problem_name": "IVXLCDM",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 765,
      "problem_letter": "A",
      "problem_id": 6668,
      "problem_name": "Agents",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 765,
      "problem_letter": "B",
      "problem_id": 6669,
      "problem_name": "Boatherds",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "centroid",
        "centroid decomposition",
        "divide and conquer",
        "smaller to larger technique",
        "tree"
      ],
      "tag_keys": [
        "centroid",
        "centroid_decomposition",
        "divide_and_conquer",
        "smaller_to_larger",
        "trees"
      ],
      "tag_details": [
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "C",
      "problem_id": 6670,
      "problem_name": "C Looooops",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "D",
      "problem_id": 6671,
      "problem_name": "Death to Binary?",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "E",
      "problem_id": 6672,
      "problem_name": "Electricity",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "articulation points and bridges",
        "biconnected component"
      ],
      "tag_keys": [
        "graphs",
        "articulation",
        "bcc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "F",
      "problem_id": 6673,
      "problem_name": "Firepersons",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "dp",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "G",
      "problem_id": 6674,
      "problem_name": "God of the Vile Baskers",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "hashing",
        "sliding window"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "hashing",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "H",
      "problem_id": 6675,
      "problem_name": "Herbalists",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "graph theory",
        "planar graph"
      ],
      "tag_keys": [
        "graphs",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "I",
      "problem_id": 6676,
      "problem_name": "Inglish-Number Translator",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 765,
      "problem_letter": "J",
      "problem_id": 6677,
      "problem_name": "Japan Plotter Driver",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "B",
      "problem_id": 6678,
      "problem_name": "Bridge Hands",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "C",
      "problem_id": 2091,
      "problem_name": "동전",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "greedy",
        "bruteforcing",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "bruteforcing",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "D",
      "problem_id": 6680,
      "problem_name": "Building a New Depot",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "sorting",
        "ad-hoc",
        "geometry",
        "set / map",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc",
        "geometry",
        "set",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "H",
      "problem_id": 6681,
      "problem_name": "Truck History",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "N",
      "problem_id": 6682,
      "problem_name": "Base Numbers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "P",
      "problem_id": 6683,
      "problem_name": "Paper Cutting",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 766,
      "problem_letter": "R",
      "problem_id": 6684,
      "problem_name": "Hexagonal Routes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 766,
      "problem_letter": "S",
      "problem_id": 6685,
      "problem_name": "Storehouse",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 766,
      "problem_letter": "T",
      "problem_id": 6686,
      "problem_name": "Traffic Jam",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 767,
      "problem_letter": "B",
      "problem_id": 6687,
      "problem_name": "Sea Battle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 767,
      "problem_letter": "C",
      "problem_id": 6688,
      "problem_name": "The Die Is Cast",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "sorting",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "sorting",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "D",
      "problem_id": 6689,
      "problem_name": "Defragmentation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "functional graph",
        "graph theory"
      ],
      "tag_keys": [
        "functional_graph",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "F",
      "problem_id": 6690,
      "problem_name": "Formatting Text",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "H",
      "problem_id": 6691,
      "problem_name": "Hole Cutter",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "value / coordinate compression",
        "flood-fill",
        "graph theory",
        "graph traversal",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "coordinate_compression",
        "flood_fill",
        "graphs",
        "graph_traversal",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "M",
      "problem_id": 6692,
      "problem_name": "Interesting Maze Game",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "graph theory",
        "graph traversal",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "graph_traversal",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "R",
      "problem_id": 6693,
      "problem_name": "Complicated Route",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "simulation",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "simulation",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "S",
      "problem_id": 6694,
      "problem_name": "The Perfect Symmetry",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "data structures",
        "sorting",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "sorting",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "V",
      "problem_id": 6695,
      "problem_name": "Mysterious Villa",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "bitmask",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bitmask",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 767,
      "problem_letter": "W",
      "problem_id": 6696,
      "problem_name": "Too Much Water",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 768,
      "problem_letter": "A",
      "problem_id": 6697,
      "problem_name": "Pizza delivery",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 768,
      "problem_letter": "B",
      "problem_id": 6698,
      "problem_name": "Ball bearings",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 768,
      "problem_letter": "C",
      "problem_id": 6699,
      "problem_name": "S-Nim",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 768,
      "problem_letter": "D",
      "problem_id": 6700,
      "problem_name": "Sylvester construction",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 768,
      "problem_letter": "E",
      "problem_id": 6701,
      "problem_name": "Who owns the Amiga?",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 768,
      "problem_letter": "F",
      "problem_id": 6702,
      "problem_name": "Lazy Evaluation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 768,
      "problem_letter": "G",
      "problem_id": 6703,
      "problem_name": "Easter holidays",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 768,
      "problem_letter": "H",
      "problem_id": 6704,
      "problem_name": "Tourist",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 769,
      "problem_letter": "A",
      "problem_id": 6705,
      "problem_name": "Hardware",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 769,
      "problem_letter": "B",
      "problem_id": 6706,
      "problem_name": "Budget",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 769,
      "problem_letter": "C",
      "problem_id": 6707,
      "problem_name": "Frogger",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 769,
      "problem_letter": "D",
      "problem_id": 6708,
      "problem_name": "Gallup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 769,
      "problem_letter": "E",
      "problem_id": 6709,
      "problem_name": "Jackpot",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 769,
      "problem_letter": "F",
      "problem_id": 6710,
      "problem_name": "Spiderman’s workout",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 769,
      "problem_letter": "G",
      "problem_id": 6711,
      "problem_name": "Subway planning",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "two-pointer"
      ],
      "tag_keys": [
        "geometry",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 769,
      "problem_letter": "H",
      "problem_id": 6712,
      "problem_name": "Exploding CPU",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "binary search",
        "primality test",
        "precomputation",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "binary_search",
        "primality_test",
        "precomputation",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 770,
      "problem_letter": "A",
      "problem_id": 6713,
      "problem_name": "The Mailbox Manufacturers Problem",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 770,
      "problem_letter": "B",
      "problem_id": 6714,
      "problem_name": "Parallel computer simulator",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 770,
      "problem_letter": "C",
      "problem_id": 6715,
      "problem_name": "Moving Pianos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 770,
      "problem_letter": "D",
      "problem_id": 6716,
      "problem_name": "Collecting Beepers",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 770,
      "problem_letter": "E",
      "problem_id": 6717,
      "problem_name": "Quantum",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "bitmask",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "bitmask",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 770,
      "problem_letter": "F",
      "problem_id": 6718,
      "problem_name": "Goldbach’s conjecture",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 770,
      "problem_letter": "G",
      "problem_id": 6719,
      "problem_name": "Downpayment",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 770,
      "problem_letter": "H",
      "problem_id": 6720,
      "problem_name": "Simplified λ-evaluations",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "string",
        "parsing",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "A",
      "problem_id": 6721,
      "problem_name": "Backward numbers",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "B",
      "problem_id": 6722,
      "problem_name": "Christmas presents",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "knapsack",
        "traceback"
      ],
      "tag_keys": [
        "knapsack",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "C",
      "problem_id": 6723,
      "problem_name": "Tournament ranking",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "priority queue",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "priority_queue",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "D",
      "problem_id": 6724,
      "problem_name": "Directed mazes",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "E",
      "problem_id": 6725,
      "problem_name": "Connecting islands",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "graph theory",
        "line segment intersection check",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "graphs",
        "line_intersection",
        "mst"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "F",
      "problem_id": 6726,
      "problem_name": "A language for constants",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 771,
      "problem_letter": "G",
      "problem_id": 6727,
      "problem_name": "Bridge placements",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 771,
      "problem_letter": "H",
      "problem_id": 6728,
      "problem_name": "Request for permission",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "sorting",
        "geometry",
        "line segment intersection check",
        "half plane intersection",
        "boolean operations on geometric objects",
        "voronoi diagram"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "sorting",
        "geometry",
        "line_intersection",
        "half_plane_intersection",
        "geometric_boolean_operations",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 772,
      "problem_letter": "A",
      "problem_id": 6729,
      "problem_name": "Traffic planning",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 772,
      "problem_letter": "B",
      "problem_id": 6730,
      "problem_name": "A model railroad",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 772,
      "problem_letter": "C",
      "problem_id": 6731,
      "problem_name": "Comment removal",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 772,
      "problem_letter": "D",
      "problem_id": 6732,
      "problem_name": "R.Ø.L.P.",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "data structures",
        "string",
        "parsing",
        "deque",
        "utf-8 inputs"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "parsing",
        "deque",
        "utf8"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "utf8",
          "name": "utf-8 inputs",
          "boj_tag_id": 199
        }
      ]
    },
    {
      "contest_id": 772,
      "problem_letter": "E",
      "problem_id": 6733,
      "problem_name": "A fair jury",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 772,
      "problem_letter": "F",
      "problem_id": 6734,
      "problem_name": "Radio direction finder",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 772,
      "problem_letter": "G",
      "problem_id": 6735,
      "problem_name": "Returning books",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 773,
      "problem_letter": "A",
      "problem_id": 6736,
      "problem_name": "The Idiot of the Year Contest!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 773,
      "problem_letter": "B",
      "problem_id": 6737,
      "problem_name": "Parsing Real Numbers",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "parsing",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "parsing",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 773,
      "problem_letter": "C",
      "problem_id": 6738,
      "problem_name": "Co-workers from Hell",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 773,
      "problem_letter": "D",
      "problem_id": 6739,
      "problem_name": "Connected Gheeves",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 773,
      "problem_letter": "E",
      "problem_id": 6740,
      "problem_name": "Rotating Scoreboard",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "half plane intersection",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "half_plane_intersection",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 773,
      "problem_letter": "F",
      "problem_id": 6741,
      "problem_name": "ACM Underground",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 773,
      "problem_letter": "G",
      "problem_id": 6742,
      "problem_name": "Expression Evaluator",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 773,
      "problem_letter": "H",
      "problem_id": 6743,
      "problem_name": "Rectangle Cutting",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "depth-first search",
        "disjoint set",
        "flood-fill",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "disjoint_set",
        "flood_fill",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "A",
      "problem_id": 2615,
      "problem_name": "오목",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "B",
      "problem_id": 6744,
      "problem_name": "Parallelogram Counting",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "data structures",
        "sorting",
        "geometry",
        "combinatorics",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "sorting",
        "geometry",
        "combinatorics",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "C",
      "problem_id": 2116,
      "problem_name": "주사위 쌓기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "D",
      "problem_id": 6745,
      "problem_name": "Software Company",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "dynamic programming"
      ],
      "tag_keys": [
        "binary_search",
        "dp"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "E",
      "problem_id": 6746,
      "problem_name": "The Happy Worm",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "F",
      "problem_id": 6747,
      "problem_name": "Median Weight Bead",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "shortest path",
        "depth-first search",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "set",
        "bfs",
        "shortest_path",
        "dfs",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "G",
      "problem_id": 2616,
      "problem_name": "소형기관차",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 774,
      "problem_letter": "H",
      "problem_id": 6748,
      "problem_name": "Odd Loving Bakers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 826,
      "problem_letter": "A",
      "problem_id": 7015,
      "problem_name": "Millennium",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 826,
      "problem_letter": "B",
      "problem_id": 7016,
      "problem_name": "Recurring Decimals",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "mathematics",
        "simulation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "simulation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 826,
      "problem_letter": "C",
      "problem_id": 7017,
      "problem_name": "Biased Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 826,
      "problem_letter": "D",
      "problem_id": 7018,
      "problem_name": "Railway Connection",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "floyd–warshall"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 826,
      "problem_letter": "E",
      "problem_id": 7019,
      "problem_name": "Chain-Confined Path",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 826,
      "problem_letter": "F",
      "problem_id": 7020,
      "problem_name": "Generic Poker",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 826,
      "problem_letter": "G",
      "problem_id": 7021,
      "problem_name": "Patisserie ACM",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 854,
      "problem_letter": "A",
      "problem_id": 7148,
      "problem_name": "Winter Roads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "graph theory",
        "minimum spanning tree",
        "offline queries"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "mst",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "B",
      "problem_id": 7149,
      "problem_name": "Can of Worms",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "data structures",
        "graph traversal",
        "sorting",
        "segment tree",
        "binary search",
        "depth-first search",
        "strongly connected component"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "data_structures",
        "graph_traversal",
        "sorting",
        "segtree",
        "binary_search",
        "dfs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "C",
      "problem_id": 7150,
      "problem_name": "Automatic Trading",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "hashing",
        "rabin–karp",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "binary_search",
        "hashing",
        "rabin_karp",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "D",
      "problem_id": 7151,
      "problem_name": "3D Printer",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "E",
      "problem_id": 7152,
      "problem_name": "Flooding Fields",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "F",
      "problem_id": 7153,
      "problem_name": "Goat Ropes",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "duality",
        "linear programming"
      ],
      "tag_keys": [
        "duality",
        "linear_programming"
      ],
      "tag_details": [
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "G",
      "problem_id": 7154,
      "problem_name": "Job Postings",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "H",
      "problem_id": 7155,
      "problem_name": "Overlapping Maps",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "I",
      "problem_id": 7156,
      "problem_name": "Unreal Estate",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 854,
      "problem_letter": "J",
      "problem_id": 7157,
      "problem_name": "조건문",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 854,
      "problem_letter": "K",
      "problem_id": 7158,
      "problem_name": "유니폼 서브트리",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "hashing",
        "tree"
      ],
      "tag_keys": [
        "hashing",
        "trees"
      ],
      "tag_details": [
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "A",
      "problem_id": 7286,
      "problem_name": "Ancient Keyboard",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "B",
      "problem_id": 2037,
      "problem_name": "문자메시지",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "C",
      "problem_id": 7288,
      "problem_name": "Changing Phone Numbers",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "offline queries",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "offline_queries",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "D",
      "problem_id": 1979,
      "problem_name": "극적인 곱셈",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "E",
      "problem_id": 7289,
      "problem_name": "Entertainment",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 877,
      "problem_letter": "F",
      "problem_id": 7290,
      "problem_name": "Fortune at El Dorado",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 877,
      "problem_letter": "G",
      "problem_id": 7291,
      "problem_name": "Griddy Hobby",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 877,
      "problem_letter": "H",
      "problem_id": 1982,
      "problem_name": "호텔예약",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "I",
      "problem_id": 7293,
      "problem_name": "Intercepting Missiles",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "geometry",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "geometry",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 877,
      "problem_letter": "J",
      "problem_id": 7294,
      "problem_name": "Joy of Mobile Routing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 878,
      "problem_letter": "A",
      "problem_id": 7295,
      "problem_name": "IOI Photos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 878,
      "problem_letter": "B",
      "problem_id": 7296,
      "problem_name": "Vice City",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 878,
      "problem_letter": "C",
      "problem_id": 7297,
      "problem_name": "Fixing Codes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 878,
      "problem_letter": "D",
      "problem_id": 7298,
      "problem_name": "Wiping Words",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 878,
      "problem_letter": "E",
      "problem_id": 7299,
      "problem_name": "Food Cubes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "flood-fill",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "flood_fill",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 878,
      "problem_letter": "F",
      "problem_id": 7300,
      "problem_name": "Points",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 878,
      "problem_letter": "G",
      "problem_id": 7301,
      "problem_name": "ACM-Telecom",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 878,
      "problem_letter": "H",
      "problem_id": 7302,
      "problem_name": "Prince of Persia",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 879,
      "problem_letter": "A",
      "problem_id": 7303,
      "problem_name": "House Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 879,
      "problem_letter": "B",
      "problem_id": 7304,
      "problem_name": "Rotten Ropes",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 879,
      "problem_letter": "C",
      "problem_id": 7305,
      "problem_name": "Optimal Keypad",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 879,
      "problem_letter": "D",
      "problem_id": 7306,
      "problem_name": "Hey, Pay Day!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 879,
      "problem_letter": "E",
      "problem_id": 7307,
      "problem_name": "Unfoldung",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 879,
      "problem_letter": "F",
      "problem_id": 7308,
      "problem_name": "A DP Problem",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 879,
      "problem_letter": "G",
      "problem_id": 7309,
      "problem_name": "Map Labeler",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 879,
      "problem_letter": "H",
      "problem_id": 7310,
      "problem_name": "Balanced Chemical Equations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 880,
      "problem_letter": "A",
      "problem_id": 7311,
      "problem_name": "Grandpa's Other Estate",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 880,
      "problem_letter": "B",
      "problem_id": 7312,
      "problem_name": "Afshung Pizza Delivery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 880,
      "problem_letter": "C",
      "problem_id": 7313,
      "problem_name": "Housing Complexes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 880,
      "problem_letter": "D",
      "problem_id": 7314,
      "problem_name": "Spacecraft Malfunction",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 880,
      "problem_letter": "E",
      "problem_id": 7315,
      "problem_name": "Blue x Red = Bang",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 880,
      "problem_letter": "F",
      "problem_id": 7316,
      "problem_name": "JaWs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 880,
      "problem_letter": "G",
      "problem_id": 7317,
      "problem_name": "Skew Binary",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 881,
      "problem_letter": "A",
      "problem_id": 7318,
      "problem_name": "Parencodings",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 881,
      "problem_letter": "B",
      "problem_id": 7319,
      "problem_name": "The Bermuda Triangle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 881,
      "problem_letter": "C",
      "problem_id": 7320,
      "problem_name": "Deformed Wheel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 881,
      "problem_letter": "D",
      "problem_id": 7321,
      "problem_name": "Illusive Chase",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 881,
      "problem_letter": "E",
      "problem_id": 7322,
      "problem_name": "Puzzle Out",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 881,
      "problem_letter": "F",
      "problem_id": 7323,
      "problem_name": "The Willy Memorial Program",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 881,
      "problem_letter": "G",
      "problem_id": 7324,
      "problem_name": "Parallel Expectations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 881,
      "problem_letter": "H",
      "problem_id": 7325,
      "problem_name": "University Entrance Examination",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 882,
      "problem_letter": "A",
      "problem_id": 7326,
      "problem_name": "Number Steps",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 882,
      "problem_letter": "B",
      "problem_id": 7327,
      "problem_name": "Puzzlestan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 882,
      "problem_letter": "C",
      "problem_id": 7328,
      "problem_name": "Dynamic Declaration Language (DDL)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 882,
      "problem_letter": "D",
      "problem_id": 7329,
      "problem_name": "Color Tunnels",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 882,
      "problem_letter": "E",
      "problem_id": 7330,
      "problem_name": "Lazy Math Instructor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 882,
      "problem_letter": "F",
      "problem_id": 7331,
      "problem_name": "Buggy Sat",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 882,
      "problem_letter": "G",
      "problem_id": 7332,
      "problem_name": "편의점 알바",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "parametric search",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "parametric_search",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 882,
      "problem_letter": "H",
      "problem_id": 7333,
      "problem_name": "Dolphin Pool",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "sorting",
        "geometry",
        "sweeping",
        "deque",
        "area of a polygon"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "sorting",
        "geometry",
        "sweeping",
        "deque",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 882,
      "problem_letter": "I",
      "problem_id": 7334,
      "problem_name": "3002 Rubbery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 883,
      "problem_letter": "A",
      "problem_id": 7335,
      "problem_name": "(Your)((Term)((Project)))",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "B",
      "problem_id": 7336,
      "problem_name": "Painting A Board",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "C",
      "problem_id": 7337,
      "problem_name": "Crossed Matchings",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "D",
      "problem_id": 7338,
      "problem_name": "Counting Rectangles",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "E",
      "problem_id": 7339,
      "problem_name": "An Old Stone Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "greedy",
        "sorting",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "greedy",
        "sorting",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "F",
      "problem_id": 7340,
      "problem_name": "Magazine Delivery",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "G",
      "problem_id": 7341,
      "problem_name": "Space Ant",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "geometry",
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 883,
      "problem_letter": "H",
      "problem_id": 7342,
      "problem_name": "The Erythea Campaign",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 884,
      "problem_letter": "A",
      "problem_id": 7343,
      "problem_name": "달력 놀이",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "B",
      "problem_id": 7344,
      "problem_name": "나무 막대",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "C",
      "problem_id": 7345,
      "problem_name": "다항식의 나머지 연산",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "D",
      "problem_id": 7346,
      "problem_name": "유전자 함수",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "E",
      "problem_id": 7347,
      "problem_name": "플립과 시프트",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "parity"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "F",
      "problem_id": 7348,
      "problem_name": "테이블 옮기기",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "G",
      "problem_id": 7349,
      "problem_name": "Farmland",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 884,
      "problem_letter": "H",
      "problem_id": 7350,
      "problem_name": "정사각형 부수기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 884,
      "problem_letter": "PA",
      "problem_id": 9093,
      "problem_name": "단어 뒤집기",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "PB",
      "problem_id": 9094,
      "problem_name": "수학적 호기심",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 884,
      "problem_letter": "PC",
      "problem_id": 9095,
      "problem_name": "1, 2, 3 더하기",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "A",
      "problem_id": 7351,
      "problem_name": "What's In A Name?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 885,
      "problem_letter": "B",
      "problem_id": 7352,
      "problem_name": "Sorting It All Out",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "C",
      "problem_id": 7353,
      "problem_name": "Web Navigation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "D",
      "problem_id": 7354,
      "problem_name": "트리의 순서",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "combinatorics",
        "divide and conquer",
        "dynamic programming",
        "mathematics",
        "recursion",
        "tree"
      ],
      "tag_keys": [
        "combinatorics",
        "divide_and_conquer",
        "dp",
        "math",
        "recursion",
        "trees"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "E",
      "problem_id": 7355,
      "problem_name": "Space Station Shielding",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "F",
      "problem_id": 7356,
      "problem_name": "Roads Scholar",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "G",
      "problem_id": 7357,
      "problem_name": "Robots",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "H",
      "problem_id": 7358,
      "problem_name": "Square Ice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "PA",
      "problem_id": 7359,
      "problem_name": "The Worm Turns",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "PB",
      "problem_id": 7360,
      "problem_name": "Undercut",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 885,
      "problem_letter": "PC",
      "problem_id": 7361,
      "problem_name": "Currency Exchange",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "A",
      "problem_id": 7362,
      "problem_name": "Picnic Planning",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "B",
      "problem_id": 7004,
      "problem_name": "Poly-polygonal Numbers",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "mathematics",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "math",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "C",
      "problem_id": 7363,
      "problem_name": "Rational Approximation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "euclidean algorithm",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "euclidean",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "D",
      "problem_id": 7005,
      "problem_name": "Stacking Cubes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "ad-hoc",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "E",
      "problem_id": 7364,
      "problem_name": "Checker's Check",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "F",
      "problem_id": 7006,
      "problem_name": "To bet, or not to bet",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "G",
      "problem_id": 7007,
      "problem_name": "BSP Trees",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "geometry",
        "sorting"
      ],
      "tag_keys": [
        "geometry",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "H",
      "problem_id": 7008,
      "problem_name": "Double Trouble",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "PA",
      "problem_id": 7365,
      "problem_name": "Ride My Bicycle",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "PB",
      "problem_id": 7366,
      "problem_name": "Counting Sheep",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "PC",
      "problem_id": 7367,
      "problem_name": "Sequence",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 886,
      "problem_letter": "PD",
      "problem_id": 7368,
      "problem_name": "Untidy Desktops",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 887,
      "problem_letter": "A",
      "problem_id": 7369,
      "problem_name": "Maya Calendar",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 887,
      "problem_letter": "B",
      "problem_id": 7370,
      "problem_name": "Transportation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 887,
      "problem_letter": "C",
      "problem_id": 7371,
      "problem_name": "John's trip",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 887,
      "problem_letter": "D",
      "problem_id": 7372,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 887,
      "problem_letter": "E",
      "problem_id": 7373,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 887,
      "problem_letter": "F",
      "problem_id": 7374,
      "problem_name": "Joseph",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 887,
      "problem_letter": "G",
      "problem_id": 7375,
      "problem_name": "Cipher",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "exponentiation by squaring",
        "implementation",
        "mathematics",
        "permutation cycle decomposition",
        "simulation"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "implementation",
        "math",
        "permutation_cycle_decomposition",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 887,
      "problem_letter": "H",
      "problem_id": 2396,
      "problem_name": "같은 길이 막대기 만들기",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "backtracking",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "backtracking",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 888,
      "problem_letter": "A",
      "problem_id": 7377,
      "problem_name": "Word Encoding",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 888,
      "problem_letter": "B",
      "problem_id": 7378,
      "problem_name": "Watchdog",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 888,
      "problem_letter": "C",
      "problem_id": 7379,
      "problem_name": "Taxi Cab Scheme",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 888,
      "problem_letter": "D",
      "problem_id": 7380,
      "problem_name": "Pseudo-random Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 888,
      "problem_letter": "E",
      "problem_id": 7381,
      "problem_name": "Card Game Cheater",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 888,
      "problem_letter": "F",
      "problem_id": 7382,
      "problem_name": "Investment",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 888,
      "problem_letter": "G",
      "problem_id": 7383,
      "problem_name": "Pipes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 888,
      "problem_letter": "H",
      "problem_id": 7384,
      "problem_name": "SETI",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 888,
      "problem_letter": "I",
      "problem_id": 7385,
      "problem_name": "Minimax Triangulation",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "geometry",
        "line segment intersection check",
        "area of a polygon"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "line_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "A",
      "problem_id": 7386,
      "problem_name": "Ancient Cipher",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "B",
      "problem_id": 7387,
      "problem_name": "Box",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "sorting",
        "case work"
      ],
      "tag_keys": [
        "sorting",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "C",
      "problem_id": 7388,
      "problem_name": "Chandelier",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 889,
      "problem_letter": "D",
      "problem_id": 7389,
      "problem_name": "Document Indexing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 889,
      "problem_letter": "E",
      "problem_id": 7390,
      "problem_name": "Easy Trading",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "F",
      "problem_id": 7391,
      "problem_name": "Find the Border",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "graph theory",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "graphs",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "G",
      "problem_id": 7392,
      "problem_name": "Gunman",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 889,
      "problem_letter": "H",
      "problem_id": 2220,
      "problem_name": "힙 정렬",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy"
      ],
      "tag_keys": [
        "data_structures",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "I",
      "problem_id": 7393,
      "problem_name": "Irrelevant Elements",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 889,
      "problem_letter": "J",
      "problem_id": 7394,
      "problem_name": "Joke with Turtles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 889,
      "problem_letter": "K",
      "problem_id": 7395,
      "problem_name": "Kingdom of Magic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 889,
      "problem_letter": "L",
      "problem_id": 7396,
      "problem_name": "Lattice Animals",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "A",
      "problem_id": 7397,
      "problem_name": "Alternative Scale of Notation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "number theory",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "B",
      "problem_id": 7398,
      "problem_name": "Bring Them There",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 890,
      "problem_letter": "C",
      "problem_id": 7399,
      "problem_name": "Code Formatting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "D",
      "problem_id": 7400,
      "problem_name": "Data Mining",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "E",
      "problem_id": 7401,
      "problem_name": "Entropy",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "constructive",
        "parametric search",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "constructive",
        "parametric_search",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "F",
      "problem_id": 7402,
      "problem_name": "Farmer Bill’s Problem",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "G",
      "problem_id": 7403,
      "problem_name": "Game",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "game theory"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "H",
      "problem_id": 7404,
      "problem_name": "Hypertransmission",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "I",
      "problem_id": 7405,
      "problem_name": "Illumination",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 890,
      "problem_letter": "J",
      "problem_id": 7406,
      "problem_name": "Jurassic Remains",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 890,
      "problem_letter": "K",
      "problem_id": 7407,
      "problem_name": "King’s Quest",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "bipartite_matching",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 891,
      "problem_letter": "A",
      "problem_id": 7408,
      "problem_name": "Amusing Numbers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 891,
      "problem_letter": "B",
      "problem_id": 7409,
      "problem_name": "Bricks",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 891,
      "problem_letter": "C",
      "problem_id": 7410,
      "problem_name": "Cricket Field",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 891,
      "problem_letter": "D",
      "problem_id": 7411,
      "problem_name": "Decoding Task",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 891,
      "problem_letter": "E",
      "problem_id": 7412,
      "problem_name": "Evacuation Plan",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 891,
      "problem_letter": "F",
      "problem_id": 7413,
      "problem_name": "Folding",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 891,
      "problem_letter": "G",
      "problem_id": 7414,
      "problem_name": "Ghost Busters",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 891,
      "problem_letter": "H",
      "problem_id": 7415,
      "problem_name": "Heroes Of Might And Magic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 891,
      "problem_letter": "I",
      "problem_id": 7416,
      "problem_name": "Inlay Cutters",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 892,
      "problem_letter": "A",
      "problem_id": 7417,
      "problem_name": "Team them up!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 892,
      "problem_letter": "B",
      "problem_id": 7418,
      "problem_name": "Brackets sequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "constructive"
      ],
      "tag_keys": [
        "dp",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 892,
      "problem_letter": "C",
      "problem_id": 7419,
      "problem_name": "Cable master",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 892,
      "problem_letter": "D",
      "problem_id": 7420,
      "problem_name": "맹독 방벽",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 892,
      "problem_letter": "E",
      "problem_id": 7421,
      "problem_name": "Chemical reactions",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 892,
      "problem_letter": "F",
      "problem_id": 7422,
      "problem_name": "Statistical trouble",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 892,
      "problem_letter": "G",
      "problem_id": 7423,
      "problem_name": "Library",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 892,
      "problem_letter": "H",
      "problem_id": 7424,
      "problem_name": "숫자 쌍",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "A",
      "problem_id": 7425,
      "problem_name": "Flip Game",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "B",
      "problem_id": 7426,
      "problem_name": "Buffer Manager",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "C",
      "problem_id": 7427,
      "problem_name": "Triathlon",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "geometry",
        "arbitrary precision / big integers",
        "half plane intersection"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arbitrary_precision",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "D",
      "problem_id": 7428,
      "problem_name": "Domino Puzzle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "case work",
        "eulerian path / circuit",
        "graph theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "eulerian_path",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "E",
      "problem_id": 7429,
      "problem_name": "Binary Search",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "implementation"
      ],
      "tag_keys": [
        "binary_search",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "F",
      "problem_id": 7430,
      "problem_name": "Frontier",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "floyd–warshall",
        "geometry",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "geometry",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "G",
      "problem_id": 7431,
      "problem_name": "Garland",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search",
        "mathematics",
        "parametric search",
        "ternary search"
      ],
      "tag_keys": [
        "binary_search",
        "math",
        "parametric_search",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 893,
      "problem_letter": "H",
      "problem_id": 7432,
      "problem_name": "디스크 트리",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "string",
        "tree",
        "set / map",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "set",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 894,
      "problem_letter": "A",
      "problem_id": 7433,
      "problem_name": "Divisibility",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 894,
      "problem_letter": "B",
      "problem_id": 7434,
      "problem_name": "Loan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 894,
      "problem_letter": "C",
      "problem_id": 7435,
      "problem_name": "Expression",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 894,
      "problem_letter": "D",
      "problem_id": 7436,
      "problem_name": "Computer Dialogue",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 894,
      "problem_letter": "E",
      "problem_id": 7437,
      "problem_name": "Lock Manager",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 894,
      "problem_letter": "F",
      "problem_id": 7438,
      "problem_name": "Dictionary",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 894,
      "problem_letter": "G",
      "problem_id": 7439,
      "problem_name": "Highways",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 894,
      "problem_letter": "H",
      "problem_id": 7440,
      "problem_name": "Advertisement",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 895,
      "problem_letter": "A",
      "problem_id": 7441,
      "problem_name": "False coin",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 895,
      "problem_letter": "B",
      "problem_id": 7442,
      "problem_name": "Rating",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 895,
      "problem_letter": "C",
      "problem_id": 7443,
      "problem_name": "Fence",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "calculus",
        "physics"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "calculus",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 895,
      "problem_letter": "D",
      "problem_id": 7444,
      "problem_name": "Parliament",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 895,
      "problem_letter": "E",
      "problem_id": 7445,
      "problem_name": "Defragment",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 895,
      "problem_letter": "F",
      "problem_id": 7446,
      "problem_name": "The dog task",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "maximum flow",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 895,
      "problem_letter": "G",
      "problem_id": 7447,
      "problem_name": "Spell checker",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 895,
      "problem_letter": "H",
      "problem_id": 7448,
      "problem_name": "Gangsters",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 896,
      "problem_letter": "A",
      "problem_id": 7449,
      "problem_name": "The mysterious X network",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 896,
      "problem_letter": "B",
      "problem_id": 7450,
      "problem_name": "Bin Packing",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 896,
      "problem_letter": "C",
      "problem_id": 7451,
      "problem_name": "On Storing Clothes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 896,
      "problem_letter": "D",
      "problem_id": 7452,
      "problem_name": "Buy or Build",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "data structures",
        "bruteforcing",
        "bitmask",
        "disjoint set",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "bruteforcing",
        "bitmask",
        "disjoint_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 896,
      "problem_letter": "E",
      "problem_id": 7453,
      "problem_name": "합이 0인 네 정수",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "binary search",
        "two-pointer",
        "meet in the middle"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "two_pointer",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 896,
      "problem_letter": "F",
      "problem_id": 7454,
      "problem_name": "Keep the Customer Satisfied",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 896,
      "problem_letter": "G",
      "problem_id": 7455,
      "problem_name": "UFO Cubes in Roswell",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 896,
      "problem_letter": "H",
      "problem_id": 7456,
      "problem_name": "Black Box",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 896,
      "problem_letter": "I",
      "problem_id": 7457,
      "problem_name": "Pixel Shuffle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 896,
      "problem_letter": "J",
      "problem_id": 7458,
      "problem_name": "Consecutive ones",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 897,
      "problem_letter": "A",
      "problem_id": 7459,
      "problem_name": "Angry Teacher",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "B",
      "problem_id": 7460,
      "problem_name": "Beth Tableaux",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "C",
      "problem_id": 7461,
      "problem_name": "Collecting Bugs",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "D",
      "problem_id": 7462,
      "problem_name": "Drawing Windows",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 897,
      "problem_letter": "E",
      "problem_id": 7463,
      "problem_name": "Ellipse",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "geometry",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "F",
      "problem_id": 7464,
      "problem_name": "Fool’s Day",
      "problem_difficulty": "Ruby I",
      "difficulty_level": 30,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "G",
      "problem_id": 7465,
      "problem_name": "Graveyard Design",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "two-pointer"
      ],
      "tag_keys": [
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "H",
      "problem_id": 7466,
      "problem_name": "Honey and Milk Land",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "I",
      "problem_id": 7467,
      "problem_name": "Incredible! Impossible!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "J",
      "problem_id": 7468,
      "problem_name": "Jackpot",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 897,
      "problem_letter": "K",
      "problem_id": 7469,
      "problem_name": "K번째 수",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "sorting",
        "segment tree",
        "binary search",
        "merge sort tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree",
        "binary_search",
        "merge_sort_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "A",
      "problem_id": 7470,
      "problem_name": "Artinals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 898,
      "problem_letter": "B",
      "problem_id": 7471,
      "problem_name": "Banal Tickets",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "C",
      "problem_id": 7472,
      "problem_name": "Crankshaft",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "D",
      "problem_id": 7473,
      "problem_name": "Destroying The Graph",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "E",
      "problem_id": 7474,
      "problem_name": "Experiment \"X\": Explosions Expected",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "arbitrary precision / big integers",
        "combinatorics",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "combinatorics",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "F",
      "problem_id": 7475,
      "problem_name": "Factoring a Polynomial",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "G",
      "problem_id": 7476,
      "problem_name": "최대 공통 증가 수열",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "H",
      "problem_id": 7477,
      "problem_name": "Highways",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "I",
      "problem_id": 7478,
      "problem_name": "Invariant Polynomials",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "J",
      "problem_id": 7479,
      "problem_name": "Jogging",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 898,
      "problem_letter": "K",
      "problem_id": 7480,
      "problem_name": "Key Insertion",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "string",
        "tree",
        "disjoint set",
        "splay tree",
        "rope"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "disjoint_set",
        "splay_tree",
        "rope"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        },
        {
          "key": "rope",
          "name": "rope",
          "boj_tag_id": 159
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "A",
      "problem_id": 7481,
      "problem_name": "ATM놀이",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "B",
      "problem_id": 7482,
      "problem_name": "상자 만들기",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "C",
      "problem_id": 7483,
      "problem_name": "Weird sort",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "D",
      "problem_id": 7484,
      "problem_name": "Bowling",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "E",
      "problem_id": 7485,
      "problem_name": "Exam",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 899,
      "problem_letter": "F",
      "problem_id": 7486,
      "problem_name": "Platforms",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 899,
      "problem_letter": "G",
      "problem_id": 7487,
      "problem_name": "The Very Greatest Common Divisor",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory",
        "arbitrary precision / big integers",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arbitrary_precision",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "H",
      "problem_id": 7488,
      "problem_name": "앵그리 라바",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "sorting",
        "sweeping",
        "difference array",
        "physics"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "sweeping",
        "difference_array",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "I",
      "problem_id": 7489,
      "problem_name": "팩토리얼",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 899,
      "problem_letter": "J",
      "problem_id": 7490,
      "problem_name": "0 만들기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "A",
      "problem_id": 7491,
      "problem_name": "Lucky Controller",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "B",
      "problem_id": 7492,
      "problem_name": "Bukazoids",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 900,
      "problem_letter": "C",
      "problem_id": 7493,
      "problem_name": "Collisions",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "D",
      "problem_id": 7494,
      "problem_name": "Dancers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sorting",
        "geometry",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "geometry",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "E",
      "problem_id": 7495,
      "problem_name": "Embassy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 900,
      "problem_letter": "F",
      "problem_id": 7496,
      "problem_name": "Dictionary of Obscene Words",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 900,
      "problem_letter": "G",
      "problem_id": 7497,
      "problem_name": "Greatest Product",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "H",
      "problem_id": 7498,
      "problem_name": "Fractal Cake",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "I",
      "problem_id": 7499,
      "problem_name": "Hexaroman Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 900,
      "problem_letter": "J",
      "problem_id": 7500,
      "problem_name": "Beam in Tunnel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 900,
      "problem_letter": "K",
      "problem_id": 7501,
      "problem_name": "Key",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 900,
      "problem_letter": "L",
      "problem_id": 7502,
      "problem_name": "Game on Chessboard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "ad-hoc",
        "case work",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "case_work",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "A",
      "problem_id": 7580,
      "problem_name": "Team Selection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 913,
      "problem_letter": "B",
      "problem_id": 7581,
      "problem_name": "Cuboids",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "C",
      "problem_id": 7582,
      "problem_name": "On the Bus",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "D",
      "problem_id": 7583,
      "problem_name": "Jumbled Words",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "E",
      "problem_id": 7584,
      "problem_name": "Noughts & Crosses",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "F",
      "problem_id": 7585,
      "problem_name": "Brackets",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "G",
      "problem_id": 7586,
      "problem_name": "Untied Airlines",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "H",
      "problem_id": 7587,
      "problem_name": "Anagrams",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "I",
      "problem_id": 7588,
      "problem_name": "Amicable",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "J",
      "problem_id": 7589,
      "problem_name": "Balanced Change",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 913,
      "problem_letter": "K",
      "problem_id": 7590,
      "problem_name": "Expressions",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 913,
      "problem_letter": "L",
      "problem_id": 7591,
      "problem_name": "Circles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 913,
      "problem_letter": "M",
      "problem_id": 7592,
      "problem_name": "Stars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 913,
      "problem_letter": "N",
      "problem_id": 7593,
      "problem_name": "Missing Letters",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 913,
      "problem_letter": "O",
      "problem_id": 7594,
      "problem_name": "Jury Compromise",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 914,
      "problem_letter": "A",
      "problem_id": 7595,
      "problem_name": "Triangles",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "B",
      "problem_id": 7596,
      "problem_name": "MP3 Songs",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "C",
      "problem_id": 7597,
      "problem_name": "Tennis",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "D",
      "problem_id": 7598,
      "problem_name": "Bookings",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "E",
      "problem_id": 7599,
      "problem_name": "Library Codes",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "F",
      "problem_id": 7600,
      "problem_name": "문자가 몇갤까",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "G",
      "problem_id": 7601,
      "problem_name": "Outfits",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "H",
      "problem_id": 7602,
      "problem_name": "Exercise",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "I",
      "problem_id": 7603,
      "problem_name": "Queen Kingdom",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 914,
      "problem_letter": "J",
      "problem_id": 7604,
      "problem_name": "Reconstruction Trees",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "tree",
        "divide and conquer"
      ],
      "tag_keys": [
        "trees",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "K",
      "problem_id": 7605,
      "problem_name": "Traffic Engineering",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 914,
      "problem_letter": "L",
      "problem_id": 7606,
      "problem_name": "The Race",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 914,
      "problem_letter": "M",
      "problem_id": 7607,
      "problem_name": "리스트 계산기",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 914,
      "problem_letter": "N",
      "problem_id": 7608,
      "problem_name": "Bargain or No Bargain",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 936,
      "problem_letter": "A",
      "problem_id": 7760,
      "problem_name": "Cocktail",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 936,
      "problem_letter": "B",
      "problem_id": 7761,
      "problem_name": "Increasing subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "precomputation"
      ],
      "tag_keys": [
        "dp",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "C",
      "problem_id": 7762,
      "problem_name": "Map Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "randomization"
      ],
      "tag_keys": [
        "randomization"
      ],
      "tag_details": [
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "D",
      "problem_id": 7763,
      "problem_name": "Map Generator returns (MG-II)",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "E",
      "problem_id": 7764,
      "problem_name": "Trigonometric optimization",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 936,
      "problem_letter": "F",
      "problem_id": 7765,
      "problem_name": "Supersquare",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "G",
      "problem_id": 7766,
      "problem_name": "Pseudographical recognizer",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "H",
      "problem_id": 7767,
      "problem_name": "“Roman” corridor",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dijkstra's",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dijkstra",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "I",
      "problem_id": 7768,
      "problem_name": "Parabolic teleports",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "graph theory",
        "geometry",
        "binary search",
        "shortest path",
        "floyd–warshall",
        "calculus",
        "ternary search",
        "heuristics"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "geometry",
        "binary_search",
        "shortest_path",
        "floyd_warshall",
        "calculus",
        "ternary_search",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 936,
      "problem_letter": "J",
      "problem_id": 7769,
      "problem_name": "Magic pyramid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 937,
      "problem_letter": "A",
      "problem_id": 7770,
      "problem_name": "아즈텍 피라미드",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "B",
      "problem_id": 7771,
      "problem_name": "배틀쉽",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "C",
      "problem_id": 7772,
      "problem_name": "구조 이성질체",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "dynamic programming",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "dp",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "D",
      "problem_id": 7773,
      "problem_name": "Deepest Station",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "E",
      "problem_id": 7774,
      "problem_name": "콘센트",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "F",
      "problem_id": 7775,
      "problem_name": "최종 순위",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "constructive",
        "greedy"
      ],
      "tag_keys": [
        "constructive",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "G",
      "problem_id": 7776,
      "problem_name": "Grid",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "geometry",
        "number theory",
        "constructive",
        "simulation",
        "euclidean algorithm",
        "randomization"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "geometry",
        "number_theory",
        "constructive",
        "simulation",
        "euclidean",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "H",
      "problem_id": 7777,
      "problem_name": "병원",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dominator tree",
        "maximum flow",
        "graph theory",
        "tree"
      ],
      "tag_keys": [
        "dominator_tree",
        "flow",
        "graphs",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dominator_tree",
          "name": "dominator tree",
          "boj_tag_id": 135
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "I",
      "problem_id": 7778,
      "problem_name": "Intelligent Design",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bitmask",
        "bruteforcing",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "J",
      "problem_id": 7779,
      "problem_name": "Juggle with Criteria",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "bruteforcing",
        "constructive",
        "precomputation"
      ],
      "tag_keys": [
        "ad_hoc",
        "bruteforcing",
        "constructive",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 937,
      "problem_letter": "K",
      "problem_id": 7780,
      "problem_name": "Kingdom Subdivision",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 937,
      "problem_letter": "L",
      "problem_id": 7781,
      "problem_name": "Log Analysis",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 939,
      "problem_letter": "A",
      "problem_id": 7792,
      "problem_name": "Superstitious Skylab Tower",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 939,
      "problem_letter": "B",
      "problem_id": 7793,
      "problem_name": "Panda Land 5: Panda Programming Language",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 939,
      "problem_letter": "C",
      "problem_id": 7794,
      "problem_name": "Almost Clear",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 939,
      "problem_letter": "D",
      "problem_id": 7795,
      "problem_name": "먹을 것인가 먹힐 것인가",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "sorting",
        "binary search",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 939,
      "problem_letter": "E",
      "problem_id": 7796,
      "problem_name": "Indomie",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 939,
      "problem_letter": "F",
      "problem_id": 7797,
      "problem_name": "In Queries",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 939,
      "problem_letter": "G",
      "problem_id": 7798,
      "problem_name": "Hotel",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 939,
      "problem_letter": "H",
      "problem_id": 7799,
      "problem_name": "Walaweh",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "string",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 940,
      "problem_letter": "A",
      "problem_id": 7800,
      "problem_name": "The Chosen Sub Matrix",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "sorting",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "sorting",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 940,
      "problem_letter": "B",
      "problem_id": 7801,
      "problem_name": "Avoiding Financial Nightmare",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 940,
      "problem_letter": "C",
      "problem_id": 7802,
      "problem_name": "No Pause Telegraph",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 940,
      "problem_letter": "D",
      "problem_id": 7803,
      "problem_name": "Burger, French Fries, Soft Drink",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "string",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "string",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 940,
      "problem_letter": "E",
      "problem_id": 7804,
      "problem_name": "Taxi!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "A",
      "problem_id": 7805,
      "problem_name": "Minimum Swap",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "string",
        "sorting",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "B",
      "problem_id": 7806,
      "problem_name": "GCD!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "C",
      "problem_id": 7807,
      "problem_name": "Playing With Domino",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "eulerian path / circuit",
        "graph theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "eulerian_path",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "D",
      "problem_id": 7808,
      "problem_name": "Email from The Professor",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "E",
      "problem_id": 7809,
      "problem_name": "The Adventure in Panda Land Part I: Panda Number",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "F",
      "problem_id": 7810,
      "problem_name": "Jakarta Traffic Jam",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 941,
      "problem_letter": "G",
      "problem_id": 7811,
      "problem_name": "Sultan's Land",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "dynamic programming"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 941,
      "problem_letter": "H",
      "problem_id": 7812,
      "problem_name": "중앙 트리",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "dynamic programming on trees",
        "rerooting on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "dp_tree",
        "rerooting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "rerooting",
          "name": "rerooting on trees",
          "boj_tag_id": 233
        }
      ]
    },
    {
      "contest_id": 942,
      "problem_letter": "A",
      "problem_id": 7813,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "B",
      "problem_id": 7814,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "C",
      "problem_id": 7815,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "D",
      "problem_id": 7816,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "E",
      "problem_id": 7817,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "F",
      "problem_id": 7818,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "G",
      "problem_id": 7819,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "H",
      "problem_id": 7820,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 942,
      "problem_letter": "I",
      "problem_id": 7821,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 943,
      "problem_letter": "A",
      "problem_id": 7822,
      "problem_name": "Worst Locations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 943,
      "problem_letter": "B",
      "problem_id": 7823,
      "problem_name": "Counting BST",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 943,
      "problem_letter": "C",
      "problem_id": 7824,
      "problem_name": "Playing With Stones",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 943,
      "problem_letter": "D",
      "problem_id": 7825,
      "problem_name": "Arm Wrestling Tournament",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 943,
      "problem_letter": "E",
      "problem_id": 7826,
      "problem_name": "Lightning Energy Report",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "segment tree with lazy propagation",
        "lowest common ancestor",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "lazyprop",
        "lca",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 943,
      "problem_letter": "F",
      "problem_id": 7827,
      "problem_name": "Transitive Closure",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 943,
      "problem_letter": "G",
      "problem_id": 7828,
      "problem_name": "더해",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 943,
      "problem_letter": "H",
      "problem_id": 7829,
      "problem_name": "Serial Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 943,
      "problem_letter": "I",
      "problem_id": 7830,
      "problem_name": "Romantic Date",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 943,
      "problem_letter": "J",
      "problem_id": 7831,
      "problem_name": "Fire Drill",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "breadth-first search",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "implementation",
        "knapsack"
      ],
      "tag_keys": [
        "bfs",
        "dp",
        "graphs",
        "graph_traversal",
        "implementation",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 944,
      "problem_letter": "A",
      "problem_id": 7832,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 944,
      "problem_letter": "B",
      "problem_id": 7833,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 944,
      "problem_letter": "C",
      "problem_id": 7834,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 944,
      "problem_letter": "D",
      "problem_id": 7835,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 944,
      "problem_letter": "E",
      "problem_id": 7836,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 944,
      "problem_letter": "F",
      "problem_id": 7837,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 944,
      "problem_letter": "G",
      "problem_id": 7838,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 945,
      "problem_letter": "A",
      "problem_id": 7839,
      "problem_name": "Pizza schedule",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 945,
      "problem_letter": "B",
      "problem_id": 7840,
      "problem_name": "Texture Tile",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "string",
        "hashing",
        "sliding window",
        "rabin–karp"
      ],
      "tag_keys": [
        "string",
        "hashing",
        "sliding_window",
        "rabin_karp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        }
      ]
    },
    {
      "contest_id": 945,
      "problem_letter": "C",
      "problem_id": 7841,
      "problem_name": "Count Squares",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 945,
      "problem_letter": "D",
      "problem_id": 7842,
      "problem_name": "Road Accident",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 945,
      "problem_letter": "E",
      "problem_id": 7843,
      "problem_name": "Terrarium",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 945,
      "problem_letter": "F",
      "problem_id": 7844,
      "problem_name": "Sudoku Checker",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 945,
      "problem_letter": "G",
      "problem_id": 7845,
      "problem_name": "ACM Computer Factory",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 946,
      "problem_letter": "A",
      "problem_id": 7846,
      "problem_name": "ACM Rank Table",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 946,
      "problem_letter": "B",
      "problem_id": 7847,
      "problem_name": "Sales Report",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 946,
      "problem_letter": "C",
      "problem_id": 7848,
      "problem_name": "Random Gap",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 946,
      "problem_letter": "D",
      "problem_id": 7849,
      "problem_name": "Radio Coverage",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 946,
      "problem_letter": "E",
      "problem_id": 7850,
      "problem_name": "Circle Drawing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 946,
      "problem_letter": "F",
      "problem_id": 7851,
      "problem_name": "Harder Sokoban Problem",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 947,
      "problem_letter": "A",
      "problem_id": 7852,
      "problem_name": "Nearest number - 2",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 947,
      "problem_letter": "B",
      "problem_id": 7853,
      "problem_name": "Advanced ASCII Cubes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 947,
      "problem_letter": "C",
      "problem_id": 7854,
      "problem_name": "Water pipe",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "meet in the middle"
      ],
      "tag_keys": [
        "mitm"
      ],
      "tag_details": [
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 947,
      "problem_letter": "D",
      "problem_id": 7855,
      "problem_name": "One is good, but two is better",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 947,
      "problem_letter": "E",
      "problem_id": 7856,
      "problem_name": "Beach cut",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "prefix sum",
        "convex hull",
        "pythagoras theorem",
        "area of a polygon"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "prefix_sum",
        "convex_hull",
        "pythagoras",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 947,
      "problem_letter": "F",
      "problem_id": 7857,
      "problem_name": "Simple prefix compression",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 948,
      "problem_letter": "A",
      "problem_id": 7858,
      "problem_name": "Tetris Alphabet",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 948,
      "problem_letter": "B",
      "problem_id": 7859,
      "problem_name": "Network Saboteur",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 948,
      "problem_letter": "C",
      "problem_id": 7860,
      "problem_name": "Burned Calendar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 948,
      "problem_letter": "D",
      "problem_id": 7861,
      "problem_name": "Longest Ordered Subsequence",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 948,
      "problem_letter": "E",
      "problem_id": 7862,
      "problem_name": "Falling cards",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 948,
      "problem_letter": "F",
      "problem_id": 7863,
      "problem_name": "Very Simple Problem",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 949,
      "problem_letter": "A",
      "problem_id": 7864,
      "problem_name": "Binary Witch",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "dynamic programming",
        "set / map by hashing",
        "implementation",
        "simulation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "hash_set",
        "implementation",
        "simulation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 949,
      "problem_letter": "B",
      "problem_id": 7865,
      "problem_name": "Fool Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 949,
      "problem_letter": "C",
      "problem_id": 7866,
      "problem_name": "Spreadsheet",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 949,
      "problem_letter": "D",
      "problem_id": 7867,
      "problem_name": "PreQueL",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 949,
      "problem_letter": "E",
      "problem_id": 7868,
      "problem_name": "해밍 수열",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "sorting",
        "number theory",
        "set / map"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "sorting",
        "number_theory",
        "set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 949,
      "problem_letter": "F",
      "problem_id": 7869,
      "problem_name": "두 원",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "A",
      "problem_id": 7870,
      "problem_name": "Accountant notes",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "aho-corasick",
        "data structures",
        "dynamic programming",
        "hashing",
        "implementation",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "data_structures",
        "dp",
        "hashing",
        "implementation",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "B",
      "problem_id": 7871,
      "problem_name": "Better and faster!",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "C",
      "problem_id": 7872,
      "problem_name": "Cave",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "D",
      "problem_id": 7873,
      "problem_name": "Decision",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "E",
      "problem_id": 7874,
      "problem_name": "Everybody may get lost in space",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "case work",
        "inclusion and exclusion",
        "line segment intersection check",
        "calculus",
        "geometry; 3d",
        "boolean operations on geometric objects",
        "green's theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "case_work",
        "inclusion_and_exclusion",
        "line_intersection",
        "calculus",
        "geometry_3d",
        "geometric_boolean_operations",
        "green"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        },
        {
          "key": "green",
          "name": "green's theorem",
          "boj_tag_id": 183
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "F",
      "problem_id": 7875,
      "problem_name": "(False) faces",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [
        "mathematics",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "G",
      "problem_id": 7876,
      "problem_name": "Garlands",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "H",
      "problem_id": 7877,
      "problem_name": "Hypervisor MacrOS",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 950,
      "problem_letter": "I",
      "problem_id": 7878,
      "problem_name": "Islands",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "sorting",
        "sweeping",
        "disjoint set",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "sweeping",
        "disjoint_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "J",
      "problem_id": 7879,
      "problem_name": "Jack’s socks",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "articulation points and bridges",
        "graph theory"
      ],
      "tag_keys": [
        "articulation",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 950,
      "problem_letter": "K",
      "problem_id": 7880,
      "problem_name": "Knowledge for the masses",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 951,
      "problem_letter": "A",
      "problem_id": 7881,
      "problem_name": "YAPTCHA",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "B",
      "problem_id": 7882,
      "problem_name": "Skyscrapers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "C",
      "problem_id": 7883,
      "problem_name": "Business Cards",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "chinese remainder theorem",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "crt",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "D",
      "problem_id": 7884,
      "problem_name": "Museum",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 951,
      "problem_letter": "E",
      "problem_id": 7885,
      "problem_name": "Morphing is fun",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 951,
      "problem_letter": "F",
      "problem_id": 7886,
      "problem_name": "Tower",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "exponentiation by squaring",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "G",
      "problem_id": 7887,
      "problem_name": "Suffix reconstruction",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "constructive",
        "greedy",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "constructive",
        "greedy",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "H",
      "problem_id": 7888,
      "problem_name": "두 교수",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "case work",
        "data structures",
        "greedy",
        "priority queue",
        "sorting"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "greedy",
        "priority_queue",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "I",
      "problem_id": 7889,
      "problem_name": "힙 세기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "tree",
        "number theory",
        "combinatorics",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "trees",
        "number_theory",
        "combinatorics",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "J",
      "problem_id": 7890,
      "problem_name": "가까운 점 찾기",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "set / map",
        "voronoi diagram"
      ],
      "tag_keys": [
        "geometry",
        "set",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "PA",
      "problem_id": 7891,
      "problem_name": "Can you add this?",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 951,
      "problem_letter": "PB",
      "problem_id": 7892,
      "problem_name": "Johnny and the Quadratic Equation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "backtracking",
        "case work",
        "mathematics",
        "number theory",
        "recursion"
      ],
      "tag_keys": [
        "backtracking",
        "case_work",
        "math",
        "number_theory",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 952,
      "problem_letter": "A",
      "problem_id": 3066,
      "problem_name": "브리징 시그널",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "binary_search",
        "lis"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 952,
      "problem_letter": "B",
      "problem_id": 7893,
      "problem_name": "Vase collection",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 952,
      "problem_letter": "C",
      "problem_id": 2329,
      "problem_name": "장애물 설계",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 952,
      "problem_letter": "D",
      "problem_id": 2318,
      "problem_name": "상사 찾기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "sorting",
        "tree",
        "segment tree",
        "set / map",
        "set / map by trees",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "sorting",
        "trees",
        "segtree",
        "set",
        "tree_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 952,
      "problem_letter": "E",
      "problem_id": 2379,
      "problem_name": "트리 탐색하기",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "sorting",
        "tree",
        "depth-first search",
        "hashing",
        "tree isomorphism"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "sorting",
        "trees",
        "dfs",
        "hashing",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 952,
      "problem_letter": "F",
      "problem_id": 7895,
      "problem_name": "Prison rearrangement",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 952,
      "problem_letter": "G",
      "problem_id": 7896,
      "problem_name": "Sightseeing tour",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 952,
      "problem_letter": "H",
      "problem_id": 7897,
      "problem_name": "A number game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 953,
      "problem_letter": "A",
      "problem_id": 7898,
      "problem_name": "Euro Efficiency",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 953,
      "problem_letter": "B",
      "problem_id": 7899,
      "problem_name": "Markov Trains",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 953,
      "problem_letter": "C",
      "problem_id": 7900,
      "problem_name": "Hansel and Grethel",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 953,
      "problem_letter": "D",
      "problem_id": 7901,
      "problem_name": "Floors",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 953,
      "problem_letter": "E",
      "problem_id": 7902,
      "problem_name": "The Picnic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 953,
      "problem_letter": "F",
      "problem_id": 7903,
      "problem_name": "Pearls",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 953,
      "problem_letter": "G",
      "problem_id": 7904,
      "problem_name": "허프만 트리",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "backtracking",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "backtracking",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 953,
      "problem_letter": "H",
      "problem_id": 7905,
      "problem_name": "Input",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "A",
      "problem_id": 7906,
      "problem_name": "Arithmetic Rectangle",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "B",
      "problem_id": 7907,
      "problem_name": "Bytean Road Race",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "graph theory",
        "directed acyclic graph",
        "topological sorting",
        "planar graph"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "dag",
        "topological_sorting",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "C",
      "problem_id": 7908,
      "problem_name": "Will It Stop?",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "D",
      "problem_id": 7909,
      "problem_name": "Ants",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "E",
      "problem_id": 7910,
      "problem_name": "Gophers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "F",
      "problem_id": 7911,
      "problem_name": "Laundry",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "G",
      "problem_id": 7912,
      "problem_name": "Bits Generator",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 954,
      "problem_letter": "H",
      "problem_id": 7913,
      "problem_name": "Afternoon Tea",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "I",
      "problem_id": 7914,
      "problem_name": "Intelligence Quotient",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "J",
      "problem_id": 7915,
      "problem_name": "Cave",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "mathematics",
        "number theory",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "math",
        "number_theory",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 954,
      "problem_letter": "K",
      "problem_id": 7916,
      "problem_name": "Cross Spider",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 955,
      "problem_letter": "A",
      "problem_id": 7917,
      "problem_name": "Potrójne drzewa",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "B",
      "problem_id": 7918,
      "problem_name": "Triangulacja",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "C",
      "problem_id": 7919,
      "problem_name": "Strażak",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "backtracking",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "backtracking",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 955,
      "problem_letter": "D",
      "problem_id": 7920,
      "problem_name": "Słoneczna wyspa",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "E",
      "problem_id": 7921,
      "problem_name": "Dziadkowie",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 955,
      "problem_letter": "F",
      "problem_id": 7922,
      "problem_name": "Ciasteczkowy potwór",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 955,
      "problem_letter": "G",
      "problem_id": 7923,
      "problem_name": "Spacer",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "H",
      "problem_id": 7924,
      "problem_name": "Suma kontrolna",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "I",
      "problem_id": 7925,
      "problem_name": "Wąż",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "J",
      "problem_id": 7926,
      "problem_name": "Chciwi rolnicy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 955,
      "problem_letter": "K",
      "problem_id": 7927,
      "problem_name": "ADOM",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "A",
      "problem_id": 7928,
      "problem_name": "Artefakt",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "B",
      "problem_id": 7929,
      "problem_name": "Bardzo brudny łańcuch",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 956,
      "problem_letter": "C",
      "problem_id": 7930,
      "problem_name": "Ciekawy Książę",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "D",
      "problem_id": 7931,
      "problem_name": "Dzień Szachisty",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "E",
      "problem_id": 7932,
      "problem_name": "Egzotyczny układ mechaniczny",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "F",
      "problem_id": 7933,
      "problem_name": "Fiołkowe puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "G",
      "problem_id": 7934,
      "problem_name": "Goździki",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 956,
      "problem_letter": "H",
      "problem_id": 7935,
      "problem_name": "Historia bawełny",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 956,
      "problem_letter": "I",
      "problem_id": 7936,
      "problem_name": "N의 존재",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "number theory",
        "discrete logarithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "discrete_log"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "discrete_log",
          "name": "discrete logarithm",
          "boj_tag_id": 146
        }
      ]
    },
    {
      "contest_id": 956,
      "problem_letter": "J",
      "problem_id": 7937,
      "problem_name": "Jaka data?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 957,
      "problem_letter": "A",
      "problem_id": 7938,
      "problem_name": "Mniam mniam",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "inclusion and exclusion",
        "möbius inversion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "inclusion_and_exclusion",
        "mobius_inversion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        }
      ]
    },
    {
      "contest_id": 957,
      "problem_letter": "B",
      "problem_id": 7939,
      "problem_name": "Sygnał",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 957,
      "problem_letter": "C",
      "problem_id": 7940,
      "problem_name": "Armaty",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 957,
      "problem_letter": "D",
      "problem_id": 7941,
      "problem_name": "Sortowanie",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 957,
      "problem_letter": "E",
      "problem_id": 7942,
      "problem_name": "Piąty wymiar",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "meet in the middle"
      ],
      "tag_keys": [
        "ad_hoc",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 957,
      "problem_letter": "F",
      "problem_id": 7943,
      "problem_name": "Tetris",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "case work",
        "dynamic programming",
        "dynamic programming using bitfield",
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "case_work",
        "dp",
        "dp_bitfield",
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 957,
      "problem_letter": "G",
      "problem_id": 7944,
      "problem_name": "Autostrady",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 957,
      "problem_letter": "H",
      "problem_id": 7945,
      "problem_name": "Hurtownia czekolady",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 957,
      "problem_letter": "I",
      "problem_id": 7946,
      "problem_name": "Supermarket",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "A",
      "problem_id": 7947,
      "problem_name": "Koncert",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "B",
      "problem_id": 7948,
      "problem_name": "Smok",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "C",
      "problem_id": 7949,
      "problem_name": "Cebula",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "convex hull",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "D",
      "problem_id": 7950,
      "problem_name": "Szaszłyki",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 958,
      "problem_letter": "E",
      "problem_id": 7951,
      "problem_name": "Radio",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 958,
      "problem_letter": "F",
      "problem_id": 7952,
      "problem_name": "Jaskinia",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 958,
      "problem_letter": "G",
      "problem_id": 7953,
      "problem_name": "Skarb",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "H",
      "problem_id": 7954,
      "problem_name": "Liczby Erdösa",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "offline queries",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "offline_queries",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "I",
      "problem_id": 7955,
      "problem_name": "Popisowa samoobrona",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "game theory"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 958,
      "problem_letter": "J",
      "problem_id": 7956,
      "problem_name": "Liczby piwne",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "ad-hoc",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "A",
      "problem_id": 7974,
      "problem_name": "Vending Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 962,
      "problem_letter": "B",
      "problem_id": 7975,
      "problem_name": "버스 여행",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "C",
      "problem_id": 7976,
      "problem_name": "수열",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "greedy",
        "parity"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "parity"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "D",
      "problem_id": 7977,
      "problem_name": "크리스 마틴",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "E",
      "problem_id": 7978,
      "problem_name": "Evaluation of an Expression",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "string",
        "tree",
        "number theory",
        "dynamic programming on trees",
        "parsing",
        "fast fourier transform",
        "discrete logarithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "string",
        "trees",
        "number_theory",
        "dp_tree",
        "parsing",
        "fft",
        "discrete_log"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "discrete_log",
          "name": "discrete logarithm",
          "boj_tag_id": 146
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "F",
      "problem_id": 7979,
      "problem_name": "Formula One",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "G",
      "problem_id": 7980,
      "problem_name": "Save the Dinosaurs",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 962,
      "problem_letter": "H",
      "problem_id": 7981,
      "problem_name": "장비를 정지합니다",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "I",
      "problem_id": 7982,
      "problem_name": "순열 그래프의 연결성 판별",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "ad-hoc"
      ],
      "tag_keys": [
        "data_structures",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "J",
      "problem_id": 7983,
      "problem_name": "내일 할거야",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 962,
      "problem_letter": "K",
      "problem_id": 7984,
      "problem_name": "두더지 잡기",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "A",
      "problem_id": 8877,
      "problem_name": "Self-Assembly",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "B",
      "problem_id": 8878,
      "problem_name": "Hey, Better Bettor",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "C",
      "problem_id": 8879,
      "problem_name": "Surely You Congest",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dijkstra's",
        "maximum flow",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "flow",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "D",
      "problem_id": 8880,
      "problem_name": "인수",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "E",
      "problem_id": 8881,
      "problem_name": "Harvard",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "implementation",
        "dynamic programming",
        "string",
        "ad-hoc",
        "tree",
        "bitmask",
        "dynamic programming on trees",
        "parsing",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "string",
        "ad_hoc",
        "trees",
        "bitmask",
        "dp_tree",
        "parsing",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "F",
      "problem_id": 8882,
      "problem_name": "Low Power",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "G",
      "problem_id": 8883,
      "problem_name": "종이 지도",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "ad-hoc",
        "geometry",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "ad_hoc",
        "geometry",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "H",
      "problem_id": 8884,
      "problem_name": "마트료시카",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "I",
      "problem_id": 8885,
      "problem_name": "Pirate Chest",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "J",
      "problem_id": 8886,
      "problem_name": "오염 해결책",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "case work",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "case_work",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1059,
      "problem_letter": "K",
      "problem_id": 8887,
      "problem_name": "Up a Tree",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "implementation",
        "dynamic programming",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "A",
      "problem_id": 8888,
      "problem_name": "Accelerator",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1060,
      "problem_letter": "B",
      "problem_id": 8889,
      "problem_name": "등고선 지도",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "segment tree with lazy propagation",
        "value / coordinate compression",
        "difference array"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "lazyprop",
        "coordinate_compression",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "C",
      "problem_id": 8890,
      "problem_name": "Critical 3-Path",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "D",
      "problem_id": 8891,
      "problem_name": "점 숫자",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "E",
      "problem_id": 8892,
      "problem_name": "팰린드롬",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "F",
      "problem_id": 8893,
      "problem_name": "Pandora",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "G",
      "problem_id": 8894,
      "problem_name": "Pattern Lock",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "H",
      "problem_id": 8895,
      "problem_name": "막대 배치",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "I",
      "problem_id": 8896,
      "problem_name": "가위 바위 보",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "J",
      "problem_id": 8897,
      "problem_name": "Slicing Tree",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "dynamic programming",
        "dynamic programming on trees",
        "stack",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "dp_tree",
        "stack",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "K",
      "problem_id": 8898,
      "problem_name": "스포츠 전문 채널 GSK",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1060,
      "problem_letter": "L",
      "problem_id": 8899,
      "problem_name": "Square Annulus",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "binary search",
        "sweeping",
        "parametric search"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "sweeping",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "A",
      "problem_id": 8900,
      "problem_name": "Block Compaction",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "B",
      "problem_id": 8901,
      "problem_name": "화학 제품",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "C",
      "problem_id": 8902,
      "problem_name": "색상의 길이",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "D",
      "problem_id": 8903,
      "problem_name": "장비",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "case work",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "E",
      "problem_id": 8904,
      "problem_name": "가구 공장",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "F",
      "problem_id": 8905,
      "problem_name": "리트",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "G",
      "problem_id": 8906,
      "problem_name": "랩탑",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1061,
      "problem_letter": "H",
      "problem_id": 8907,
      "problem_name": "네온 사인",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "I",
      "problem_id": 8908,
      "problem_name": "Pizza Delivery",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "J",
      "problem_id": 8909,
      "problem_name": "Soju",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "priority queue",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1061,
      "problem_letter": "K",
      "problem_id": 8910,
      "problem_name": "Traveling Spiders",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1061,
      "problem_letter": "L",
      "problem_id": 8911,
      "problem_name": "거북이",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1062,
      "problem_letter": "A",
      "problem_id": 8912,
      "problem_name": "Sales",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1062,
      "problem_letter": "B",
      "problem_id": 8913,
      "problem_name": "문자열 뽑기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1062,
      "problem_letter": "C",
      "problem_id": 8914,
      "problem_name": "Password",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1062,
      "problem_letter": "D",
      "problem_id": 8915,
      "problem_name": "Mines",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1062,
      "problem_letter": "E",
      "problem_id": 8916,
      "problem_name": "이진 검색 트리",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "combinatorics",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "combinatorics",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1062,
      "problem_letter": "E",
      "problem_id": 8944,
      "problem_name": "이진 검색 트리 2",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "combinatorics",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "combinatorics",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1062,
      "problem_letter": "F",
      "problem_id": 8917,
      "problem_name": "Tour Belt",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1062,
      "problem_letter": "G",
      "problem_id": 8918,
      "problem_name": "String Phone",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1062,
      "problem_letter": "H",
      "problem_id": 8919,
      "problem_name": "Installations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1062,
      "problem_letter": "I",
      "problem_id": 8920,
      "problem_name": "음식점 개업",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1062,
      "problem_letter": "J",
      "problem_id": 8921,
      "problem_name": "KTX 열차 기지",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "lis"
      ],
      "tag_details": [
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1063,
      "problem_letter": "A",
      "problem_id": 8922,
      "problem_name": "두찌 수열",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1063,
      "problem_letter": "B",
      "problem_id": 8923,
      "problem_name": "The Lord of the Rings",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1063,
      "problem_letter": "C",
      "problem_id": 8924,
      "problem_name": "Airport",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1063,
      "problem_letter": "D",
      "problem_id": 8925,
      "problem_name": "GC-비율",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "binary search",
        "data structures",
        "geometry"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1063,
      "problem_letter": "E",
      "problem_id": 8926,
      "problem_name": "점프",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1063,
      "problem_letter": "F",
      "problem_id": 8927,
      "problem_name": "Squares",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1063,
      "problem_letter": "G",
      "problem_id": 8928,
      "problem_name": "Sizeof",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1063,
      "problem_letter": "H",
      "problem_id": 8929,
      "problem_name": "Kingdom",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1063,
      "problem_letter": "I",
      "problem_id": 8930,
      "problem_name": "Cellular Network",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1063,
      "problem_letter": "J",
      "problem_id": 8931,
      "problem_name": "Jinhan",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "2-sat",
        "data structures",
        "depth-first search",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "data_structures",
        "dfs",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1064,
      "problem_letter": "A",
      "problem_id": 8932,
      "problem_name": "7종 경기",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1064,
      "problem_letter": "B",
      "problem_id": 8933,
      "problem_name": "MCS",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "sliding window"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 1064,
      "problem_letter": "C",
      "problem_id": 8934,
      "problem_name": "Homing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1064,
      "problem_letter": "D",
      "problem_id": 8935,
      "problem_name": "Cycle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1064,
      "problem_letter": "E",
      "problem_id": 8936,
      "problem_name": "Archery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1064,
      "problem_letter": "F",
      "problem_id": 8937,
      "problem_name": "Processor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1064,
      "problem_letter": "G",
      "problem_id": 1248,
      "problem_name": "Guess",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1064,
      "problem_letter": "H",
      "problem_id": 8938,
      "problem_name": "Salesmen",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1064,
      "problem_letter": "I",
      "problem_id": 8939,
      "problem_name": "Hubble Space Telescope",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1064,
      "problem_letter": "J",
      "problem_id": 8940,
      "problem_name": "Metal",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1065,
      "problem_letter": "A",
      "problem_id": 8941,
      "problem_name": "Molar mass",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1065,
      "problem_letter": "B",
      "problem_id": 1701,
      "problem_name": "Cubeditor",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1065,
      "problem_letter": "C",
      "problem_id": 8942,
      "problem_name": "Network",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1065,
      "problem_letter": "D",
      "problem_id": 8943,
      "problem_name": "PHONE",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1065,
      "problem_letter": "E",
      "problem_id": 1720,
      "problem_name": "타일 코드",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1065,
      "problem_letter": "F",
      "problem_id": 8945,
      "problem_name": "Meteor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1065,
      "problem_letter": "G",
      "problem_id": 8946,
      "problem_name": "Signals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1065,
      "problem_letter": "H",
      "problem_id": 8947,
      "problem_name": "Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1065,
      "problem_letter": "I",
      "problem_id": 8948,
      "problem_name": "Turtle Graphics",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1065,
      "problem_letter": "J",
      "problem_id": 1628,
      "problem_name": "수",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1065,
      "problem_letter": "J",
      "problem_id": 1659,
      "problem_name": "수 (Hard)",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1066,
      "problem_letter": "A",
      "problem_id": 1942,
      "problem_name": "디지털시계",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "simulation",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "simulation",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1066,
      "problem_letter": "B",
      "problem_id": 1969,
      "problem_name": "DNA",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1066,
      "problem_letter": "C",
      "problem_id": 8950,
      "problem_name": "Grid Panel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "D",
      "problem_id": 8951,
      "problem_name": "Travel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "E",
      "problem_id": 8952,
      "problem_name": "Roommate",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "F",
      "problem_id": 8953,
      "problem_name": "Gas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "G",
      "problem_id": 8954,
      "problem_name": "Tree",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "H",
      "problem_id": 8955,
      "problem_name": "Period",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "I",
      "problem_id": 8956,
      "problem_name": "Fire Tower",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1066,
      "problem_letter": "J",
      "problem_id": 8957,
      "problem_name": "Log Jumping",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1067,
      "problem_letter": "A",
      "problem_id": 8958,
      "problem_name": "OX퀴즈",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1067,
      "problem_letter": "B",
      "problem_id": 2231,
      "problem_name": "분해합",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1067,
      "problem_letter": "C",
      "problem_id": 2233,
      "problem_name": "사과나무",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "stack",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "stack",
        "lca"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 1067,
      "problem_letter": "D",
      "problem_id": 2201,
      "problem_name": "이친수 찾기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1067,
      "problem_letter": "E",
      "problem_id": 8960,
      "problem_name": "PushPush",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1067,
      "problem_letter": "F",
      "problem_id": 8961,
      "problem_name": "Seminar Room",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1067,
      "problem_letter": "G",
      "problem_id": 8962,
      "problem_name": "Cannon’s Move",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1067,
      "problem_letter": "H",
      "problem_id": 8963,
      "problem_name": "Bond",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1067,
      "problem_letter": "I",
      "problem_id": 8964,
      "problem_name": "Roof",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1067,
      "problem_letter": "J",
      "problem_id": 2135,
      "problem_name": "문자열 압축하기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1068,
      "problem_letter": "A",
      "problem_id": 8965,
      "problem_name": "Circular Sequence",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1068,
      "problem_letter": "B",
      "problem_id": 8966,
      "problem_name": "Symmetry",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1068,
      "problem_letter": "C",
      "problem_id": 8967,
      "problem_name": "Circle Dance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1068,
      "problem_letter": "D",
      "problem_id": 2385,
      "problem_name": "Secret Sharing",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1068,
      "problem_letter": "E",
      "problem_id": 8968,
      "problem_name": "Graceful Prime Decomposition",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1068,
      "problem_letter": "F",
      "problem_id": 8969,
      "problem_name": "Wire Connection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1068,
      "problem_letter": "G",
      "problem_id": 8970,
      "problem_name": "Fair Share",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1068,
      "problem_letter": "H",
      "problem_id": 2271,
      "problem_name": "암호화 알고리즘의 약점",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1068,
      "problem_letter": "I",
      "problem_id": 8971,
      "problem_name": "Depth Order",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "A",
      "problem_id": 8988,
      "problem_name": "Old bill",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "B",
      "problem_id": 8989,
      "problem_name": "시계",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1078,
      "problem_letter": "C",
      "problem_id": 8990,
      "problem_name": "Pocket Ball",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "D",
      "problem_id": 8991,
      "problem_name": "People like people",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "E",
      "problem_id": 2046,
      "problem_name": "이어달리기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "F",
      "problem_id": 8993,
      "problem_name": "ChonSu",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "G",
      "problem_id": 1677,
      "problem_name": "음악",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1078,
      "problem_letter": "H",
      "problem_id": 8994,
      "problem_name": "Cycle Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1078,
      "problem_letter": "I",
      "problem_id": 8995,
      "problem_name": "Intelligent Robots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1079,
      "problem_letter": "A",
      "problem_id": 3584,
      "problem_name": "가장 가까운 공통 조상",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "lca"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 1079,
      "problem_letter": "B",
      "problem_id": 3232,
      "problem_name": "Multiply",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1079,
      "problem_letter": "C",
      "problem_id": 3563,
      "problem_name": "Finding Liars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1079,
      "problem_letter": "D",
      "problem_id": 3589,
      "problem_name": "Christmas Gifts",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1079,
      "problem_letter": "E",
      "problem_id": 4715,
      "problem_name": "Two Mountaineers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1079,
      "problem_letter": "F",
      "problem_id": 8996,
      "problem_name": "Digital Onion",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1079,
      "problem_letter": "G",
      "problem_id": 8997,
      "problem_name": "The K-League",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1079,
      "problem_letter": "H",
      "problem_id": 8998,
      "problem_name": "A Lazy Worker",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1080,
      "problem_letter": "A",
      "problem_id": 4505,
      "problem_name": "Car Racing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1080,
      "problem_letter": "B",
      "problem_id": 8999,
      "problem_name": "Work at a library is tough",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1080,
      "problem_letter": "C",
      "problem_id": 9000,
      "problem_name": "Moving Pegs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1080,
      "problem_letter": "D",
      "problem_id": 9001,
      "problem_name": "Rectangle Coloring",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "geometry",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "geometry",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1080,
      "problem_letter": "E",
      "problem_id": 9002,
      "problem_name": "Match Maker",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "stable marriage problem"
      ],
      "tag_keys": [
        "graphs",
        "stable_marriage"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "stable_marriage",
          "name": "stable marriage problem",
          "boj_tag_id": 192
        }
      ]
    },
    {
      "contest_id": 1080,
      "problem_letter": "F",
      "problem_id": 9003,
      "problem_name": "Taekwondo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1080,
      "problem_letter": "G",
      "problem_id": 9004,
      "problem_name": "Lost Lists",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1080,
      "problem_letter": "H",
      "problem_id": 9005,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1081,
      "problem_letter": "A",
      "problem_id": 9006,
      "problem_name": "다리",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "B",
      "problem_id": 9007,
      "problem_name": "카누 선수",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "binary search",
        "meet in the middle"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "C",
      "problem_id": 9008,
      "problem_name": "Castle",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "sorting",
        "ad-hoc",
        "depth-first search",
        "sweeping"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "sorting",
        "ad_hoc",
        "dfs",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "D",
      "problem_id": 9009,
      "problem_name": "피보나치",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "E",
      "problem_id": 9010,
      "problem_name": "Möbius Strip",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "F",
      "problem_id": 9011,
      "problem_name": "순서",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "G",
      "problem_id": 9012,
      "problem_name": "괄호",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "H",
      "problem_id": 9013,
      "problem_name": "Parents",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "I",
      "problem_id": 9014,
      "problem_name": "PCB",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1081,
      "problem_letter": "J",
      "problem_id": 9015,
      "problem_name": "정사각형",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "bruteforcing",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "A",
      "problem_id": 9016,
      "problem_name": "Castles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1082,
      "problem_letter": "B",
      "problem_id": 9017,
      "problem_name": "크로스 컨트리",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "C",
      "problem_id": 9018,
      "problem_name": "Cube of a Graph",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1082,
      "problem_letter": "D",
      "problem_id": 9019,
      "problem_name": "DSLR",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "E",
      "problem_id": 9020,
      "problem_name": "골드바흐의 추측",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "F",
      "problem_id": 9021,
      "problem_name": "숫자 퍼즐",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "F (수정)",
      "problem_id": 1502,
      "problem_name": "숫자 퍼즐 ≤ 8",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking",
        "parity"
      ],
      "tag_keys": [
        "backtracking",
        "parity"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "G",
      "problem_id": 9022,
      "problem_name": "Stains",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "sorting",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "H",
      "problem_id": 9023,
      "problem_name": "연습시즌",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "I",
      "problem_id": 9024,
      "problem_name": "두 수의 합",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "sorting",
        "binary search",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1082,
      "problem_letter": "J",
      "problem_id": 9025,
      "problem_name": "Widest Path",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "data structures",
        "dijkstra's",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "dijkstra",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1083,
      "problem_letter": "A",
      "problem_id": 9026,
      "problem_name": "Three Pin Bowling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1083,
      "problem_letter": "B",
      "problem_id": 9027,
      "problem_name": "Stadium",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1083,
      "problem_letter": "C",
      "problem_id": 9028,
      "problem_name": "Iris (비밀번호)",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1083,
      "problem_letter": "D",
      "problem_id": 9029,
      "problem_name": "정육면체",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1083,
      "problem_letter": "E",
      "problem_id": 9030,
      "problem_name": "Bridge",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1083,
      "problem_letter": "F",
      "problem_id": 9031,
      "problem_name": "Message Broadcasting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1083,
      "problem_letter": "G",
      "problem_id": 9032,
      "problem_name": "울타리",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1083,
      "problem_letter": "H",
      "problem_id": 9033,
      "problem_name": "Sewerage Planning",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1083,
      "problem_letter": "I",
      "problem_id": 9034,
      "problem_name": "순위",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1083,
      "problem_letter": "J",
      "problem_id": 9035,
      "problem_name": "Detective Conan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "A",
      "problem_id": 9036,
      "problem_name": "Pennant race",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "B",
      "problem_id": 9037,
      "problem_name": "The candy war",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1084,
      "problem_letter": "C",
      "problem_id": 9038,
      "problem_name": "Display",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1084,
      "problem_letter": "D",
      "problem_id": 9039,
      "problem_name": "노선도",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "E",
      "problem_id": 9040,
      "problem_name": "Maze",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "F",
      "problem_id": 9041,
      "problem_name": "Cube",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "G",
      "problem_id": 9042,
      "problem_name": "Shoe-print",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "H",
      "problem_id": 9043,
      "problem_name": "Delivery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "I",
      "problem_id": 9044,
      "problem_name": "Conference Table",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1084,
      "problem_letter": "J",
      "problem_id": 9045,
      "problem_name": "Golf Courses",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1085,
      "problem_letter": "A",
      "problem_id": 9046,
      "problem_name": "복호화",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1085,
      "problem_letter": "B",
      "problem_id": 9047,
      "problem_name": "6174",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1085,
      "problem_letter": "C",
      "problem_id": 9048,
      "problem_name": "수위 아저씨의 고민",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1085,
      "problem_letter": "D",
      "problem_id": 9049,
      "problem_name": "Electric Network",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1085,
      "problem_letter": "E",
      "problem_id": 9050,
      "problem_name": "L-Shape Covering",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1085,
      "problem_letter": "F",
      "problem_id": 9051,
      "problem_name": "Rubik’s Cube",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1085,
      "problem_letter": "G",
      "problem_id": 9052,
      "problem_name": "Delivery",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1085,
      "problem_letter": "H",
      "problem_id": 9053,
      "problem_name": "Homework",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bitmask",
        "bruteforcing",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1085,
      "problem_letter": "I",
      "problem_id": 9054,
      "problem_name": "나일강",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1085,
      "problem_letter": "J",
      "problem_id": 9055,
      "problem_name": "Pile of Cubes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1086,
      "problem_letter": "A",
      "problem_id": 9056,
      "problem_name": "Letter Bank",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1086,
      "problem_letter": "B",
      "problem_id": 1700,
      "problem_name": "멀티탭 스케줄링",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1086,
      "problem_letter": "B (수정)",
      "problem_id": 20136,
      "problem_name": "멀티탭 스케줄링 2",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1086,
      "problem_letter": "C",
      "problem_id": 9057,
      "problem_name": "ACM-UCPC",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1086,
      "problem_letter": "D",
      "problem_id": 9058,
      "problem_name": "Maximum Detour",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1086,
      "problem_letter": "E",
      "problem_id": 1699,
      "problem_name": "제곱수의 합",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1086,
      "problem_letter": "F",
      "problem_id": 9059,
      "problem_name": "Servicing Clients",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1086,
      "problem_letter": "G",
      "problem_id": 9060,
      "problem_name": "감시체계",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1086,
      "problem_letter": "H",
      "problem_id": 9061,
      "problem_name": "두 직사각형",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1086,
      "problem_letter": "I",
      "problem_id": 9062,
      "problem_name": "랜덤게임",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1087,
      "problem_letter": "A",
      "problem_id": 9063,
      "problem_name": "대지",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1087,
      "problem_letter": "B",
      "problem_id": 2028,
      "problem_name": "자기복제수",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1087,
      "problem_letter": "C",
      "problem_id": 9064,
      "problem_name": "War Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1087,
      "problem_letter": "D",
      "problem_id": 1946,
      "problem_name": "신입 사원",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1087,
      "problem_letter": "E",
      "problem_id": 9065,
      "problem_name": "Fence Watch",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1087,
      "problem_letter": "F",
      "problem_id": 9066,
      "problem_name": "금고",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "ad-hoc",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1087,
      "problem_letter": "G",
      "problem_id": 9067,
      "problem_name": "馬",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1087,
      "problem_letter": "H",
      "problem_id": 9068,
      "problem_name": "Tree Labeling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1087,
      "problem_letter": "I",
      "problem_id": 9069,
      "problem_name": "치킨집 배치",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1088,
      "problem_letter": "A",
      "problem_id": 9070,
      "problem_name": "장보기",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1088,
      "problem_letter": "B",
      "problem_id": 9071,
      "problem_name": "KTX",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1088,
      "problem_letter": "C",
      "problem_id": 9072,
      "problem_name": "Wiring Cost",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1088,
      "problem_letter": "D",
      "problem_id": 2159,
      "problem_name": "케익 배달",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1088,
      "problem_letter": "E",
      "problem_id": 2212,
      "problem_name": "센서",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1088,
      "problem_letter": "F",
      "problem_id": 9074,
      "problem_name": "쇠줄 곧게 펴기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1088,
      "problem_letter": "G",
      "problem_id": 9075,
      "problem_name": "Missile Protector",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1089,
      "problem_letter": "A",
      "problem_id": 9076,
      "problem_name": "점수 집계",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1089,
      "problem_letter": "B",
      "problem_id": 2292,
      "problem_name": "벌집",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1089,
      "problem_letter": "C",
      "problem_id": 9077,
      "problem_name": "지뢰제거",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1089,
      "problem_letter": "D",
      "problem_id": 2016,
      "problem_name": "미팅 주선하기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1089,
      "problem_letter": "E",
      "problem_id": 9078,
      "problem_name": "정렬",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "sorting",
        "ad-hoc",
        "parity"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "ad_hoc",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1089,
      "problem_letter": "F",
      "problem_id": 9079,
      "problem_name": "동전 게임",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "bitmask"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1089,
      "problem_letter": "G",
      "problem_id": 2266,
      "problem_name": "금고 테스트",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "A",
      "problem_id": 3062,
      "problem_name": "수 뒤집기",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "B",
      "problem_id": 9080,
      "problem_name": "PC방 요금",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "C",
      "problem_id": 9081,
      "problem_name": "단어 맞추기",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "D",
      "problem_id": 9082,
      "problem_name": "지뢰찾기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "E",
      "problem_id": 9083,
      "problem_name": "셔틀버스",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "F",
      "problem_id": 9084,
      "problem_name": "동전",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "PA",
      "problem_id": 9085,
      "problem_name": "더하기",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1090,
      "problem_letter": "PB",
      "problem_id": 9086,
      "problem_name": "문자열",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1091,
      "problem_letter": "A",
      "problem_id": 3063,
      "problem_name": "게시판",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1091,
      "problem_letter": "B",
      "problem_id": 9087,
      "problem_name": "단어 찾기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1091,
      "problem_letter": "C",
      "problem_id": 9088,
      "problem_name": "게임",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1091,
      "problem_letter": "D",
      "problem_id": 9089,
      "problem_name": "줄다리기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1091,
      "problem_letter": "E",
      "problem_id": 9090,
      "problem_name": "역기 정렬하기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1091,
      "problem_letter": "PA",
      "problem_id": 9091,
      "problem_name": "소수 판정",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1091,
      "problem_letter": "PB",
      "problem_id": 9092,
      "problem_name": "테이블 정리",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "A",
      "problem_id": 9096,
      "problem_name": "Tiling Up Blocks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "B",
      "problem_id": 9097,
      "problem_name": "Quad Trees",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1092,
      "problem_letter": "C",
      "problem_id": 9098,
      "problem_name": "The Suspects",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1092,
      "problem_letter": "D",
      "problem_id": 9099,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "E",
      "problem_id": 9100,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "F",
      "problem_id": 9101,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "G",
      "problem_id": 9102,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "H",
      "problem_id": 9103,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1092,
      "problem_letter": "I",
      "problem_id": 9104,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "A",
      "problem_id": 9105,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "B",
      "problem_id": 9106,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "C",
      "problem_id": 9107,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "D",
      "problem_id": 9108,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "E",
      "problem_id": 9109,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "F",
      "problem_id": 9110,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "G",
      "problem_id": 9111,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "H",
      "problem_id": 9112,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1093,
      "problem_letter": "I",
      "problem_id": 9113,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1094,
      "problem_letter": "A",
      "problem_id": 9114,
      "problem_name": "킹과 폰",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "game theory",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "game_theory",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "B",
      "problem_id": 9115,
      "problem_name": "Frobenius",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "knapsack"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "C",
      "problem_id": 9116,
      "problem_name": "Mineshaft",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1094,
      "problem_letter": "D",
      "problem_id": 9117,
      "problem_name": "Colour Sequence",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "E",
      "problem_id": 9118,
      "problem_name": "Projects",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory",
        "knapsack"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "F",
      "problem_id": 9119,
      "problem_name": "Booksort",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "meet in the middle"
      ],
      "tag_keys": [
        "mitm"
      ],
      "tag_details": [
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "G",
      "problem_id": 9120,
      "problem_name": "Oulipo",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "H",
      "problem_id": 9121,
      "problem_name": "Lucky Light",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "sweeping"
      ],
      "tag_keys": [
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1094,
      "problem_letter": "I",
      "problem_id": 9122,
      "problem_name": "Sightseeing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1095,
      "problem_letter": "A",
      "problem_id": 9123,
      "problem_name": "Word Ladder",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "breadth-first search",
        "bruteforcing",
        "floyd–warshall",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "bfs",
        "bruteforcing",
        "floyd_warshall",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1095,
      "problem_letter": "B",
      "problem_id": 9124,
      "problem_name": "Bonus Word",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1095,
      "problem_letter": "C",
      "problem_id": 9125,
      "problem_name": "Contest",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1095,
      "problem_letter": "D",
      "problem_id": 9126,
      "problem_name": "Cycling",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "disjoint set",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "shortest_path",
        "dijkstra",
        "disjoint_set",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1095,
      "problem_letter": "E",
      "problem_id": 9127,
      "problem_name": "Escape",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1095,
      "problem_letter": "F",
      "problem_id": 9128,
      "problem_name": "피곤한 외판원",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "graph theory",
        "graph traversal",
        "implementation",
        "prefix sum",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "graphs",
        "graph_traversal",
        "implementation",
        "prefix_sum",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1095,
      "problem_letter": "G",
      "problem_id": 9129,
      "problem_name": "Space",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1095,
      "problem_letter": "H",
      "problem_id": 9130,
      "problem_name": "Herbert",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1096,
      "problem_letter": "H",
      "problem_id": 9131,
      "problem_name": "Oh, Those Achin' Feet",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1098,
      "problem_letter": "H",
      "problem_id": 9136,
      "problem_name": "Number That Count",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1100,
      "problem_letter": "A",
      "problem_id": 9134,
      "problem_name": "Komunikace",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "implementation",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "implementation",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "B",
      "problem_id": 9135,
      "problem_name": "Směrnice",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "case work",
        "data structures",
        "set / map by hashing",
        "implementation",
        "simulation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "hash_set",
        "implementation",
        "simulation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "C",
      "problem_id": 9137,
      "problem_name": "Matematické cvičení",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "arbitrary precision / big integers",
        "arithmetic",
        "mathematics",
        "number theory",
        "string"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "arithmetic",
        "math",
        "number_theory",
        "string"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "D",
      "problem_id": 9138,
      "problem_name": "Červotoči",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "E",
      "problem_id": 9139,
      "problem_name": "Algebra",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "F",
      "problem_id": 9140,
      "problem_name": "Přeprava materiálu",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "G",
      "problem_id": 9141,
      "problem_name": "Dámy",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1100,
      "problem_letter": "H",
      "problem_id": 9142,
      "problem_name": "Nástěnky",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1101,
      "problem_letter": "D",
      "problem_id": 9143,
      "problem_name": "Zpětné inženýrství",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1101,
      "problem_letter": "G",
      "problem_id": 9144,
      "problem_name": "Gnome",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1101,
      "problem_letter": "H",
      "problem_id": 9145,
      "problem_name": "Herci",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "bipartite matching"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1101,
      "problem_letter": "I",
      "problem_id": 9146,
      "problem_name": "Linie",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1101,
      "problem_letter": "P",
      "problem_id": 9147,
      "problem_name": "Počítáme ponorky",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1101,
      "problem_letter": "R",
      "problem_id": 9148,
      "problem_name": "Rozejděte se!",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1101,
      "problem_letter": "S",
      "problem_id": 9149,
      "problem_name": "Pražská spojka",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1101,
      "problem_letter": "T",
      "problem_id": 9150,
      "problem_name": "Tokeny",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1102,
      "problem_letter": "A",
      "problem_id": 9151,
      "problem_name": "Starship Hakodate-maru",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1102,
      "problem_letter": "B",
      "problem_id": 9152,
      "problem_name": "e-Market",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1102,
      "problem_letter": "C",
      "problem_id": 9153,
      "problem_name": "Fishnet",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1102,
      "problem_letter": "D",
      "problem_id": 9154,
      "problem_name": "77377",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1102,
      "problem_letter": "E",
      "problem_id": 9155,
      "problem_name": "Beehives",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1102,
      "problem_letter": "F",
      "problem_id": 9156,
      "problem_name": "Young, Poor and Busy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1102,
      "problem_letter": "G",
      "problem_id": 9157,
      "problem_name": "Nim",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1102,
      "problem_letter": "H",
      "problem_id": 9158,
      "problem_name": "Super Star",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "geometry; 3d",
        "heuristics",
        "minimum enclosing circle",
        "gradient descent"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "heuristics",
        "min_enclosing_circle",
        "gradient_descent"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        },
        {
          "key": "gradient_descent",
          "name": "gradient descent",
          "boj_tag_id": 208
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "A",
      "problem_id": 9159,
      "problem_name": "What is the air speed velocity...",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "B",
      "problem_id": 9160,
      "problem_name": "The Brave Sir Robin’s cAsE cOrReCtOr",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "C",
      "problem_id": 9161,
      "problem_name": "Sir Bedavere’s Bogus Division Solutions",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "D",
      "problem_id": 9162,
      "problem_name": "One...Two...Five!",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "backtracking"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "set",
        "hash_set",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "E",
      "problem_id": 9163,
      "problem_name": "Taunt Exposure Estimation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1103,
      "problem_letter": "F",
      "problem_id": 9164,
      "problem_name": "Ye Holy Hand Grenades!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1103,
      "problem_letter": "G",
      "problem_id": 9165,
      "problem_name": "Nested Shrubbery Boxes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "sorting",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "H",
      "problem_id": 9166,
      "problem_name": "And Now For Something Completely Different!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1103,
      "problem_letter": "I",
      "problem_id": 9167,
      "problem_name": "도발 봇",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "string",
        "parsing",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "J",
      "problem_id": 9168,
      "problem_name": "No Left Turns",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1103,
      "problem_letter": "K",
      "problem_id": 9169,
      "problem_name": "나는 9999번 문제를 풀 수 있다",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "A",
      "problem_id": 9170,
      "problem_name": "Single Digit Adder",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "B",
      "problem_id": 4622,
      "problem_name": "Connect",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1104,
      "problem_letter": "C",
      "problem_id": 9172,
      "problem_name": "Consecutive Digits in a Rational Number",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "D",
      "problem_id": 9173,
      "problem_name": "Constant Irritation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1104,
      "problem_letter": "E",
      "problem_id": 9174,
      "problem_name": "If only I could think Linearly...",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1104,
      "problem_letter": "F",
      "problem_id": 4627,
      "problem_name": "뛰어라 도마뱀",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "G",
      "problem_id": 4620,
      "problem_name": "Pascal's Travels",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "H",
      "problem_id": 9171,
      "problem_name": "Job Scheduling by Open Bidding",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "I",
      "problem_id": 9175,
      "problem_name": "Who needs 8 Queens when you can have N?",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1104,
      "problem_letter": "J",
      "problem_id": 4624,
      "problem_name": "Time to Graduate",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "topological sorting",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "topological_sorting",
        "dag"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "A",
      "problem_id": 9176,
      "problem_name": "메르센 합성수",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "B",
      "problem_id": 9177,
      "problem_name": "단어 섞기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "C",
      "problem_id": 2758,
      "problem_name": "로또",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "D",
      "problem_id": 2734,
      "problem_name": "드럼통 쌓기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "E",
      "problem_id": 3073,
      "problem_name": "집으로 가는 길",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "F",
      "problem_id": 6679,
      "problem_name": "싱기한 네자리 숫자",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "G",
      "problem_id": 9178,
      "problem_name": "Jill’s Tour Paths",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "backtracking",
        "graph theory",
        "graph traversal",
        "sorting"
      ],
      "tag_keys": [
        "backtracking",
        "graphs",
        "graph_traversal",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "H",
      "problem_id": 9179,
      "problem_name": "Boundaries on \"A New Kind of Science\"",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "I",
      "problem_id": 9180,
      "problem_name": "Rate of Return",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1105,
      "problem_letter": "J",
      "problem_id": 9181,
      "problem_name": "A Card Trick",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1106,
      "problem_letter": "A",
      "problem_id": 9182,
      "problem_name": "Biorhythms",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1106,
      "problem_letter": "B",
      "problem_id": 9183,
      "problem_name": "Gone Fishing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "dynamic programming",
        "data structures",
        "greedy",
        "bruteforcing",
        "priority queue",
        "traceback"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "data_structures",
        "greedy",
        "bruteforcing",
        "priority_queue",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1106,
      "problem_letter": "C",
      "problem_id": 9184,
      "problem_name": "신나는 함수 실행",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming",
        "recursion"
      ],
      "tag_keys": [
        "dp",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1106,
      "problem_letter": "D",
      "problem_id": 9185,
      "problem_name": "Unscrambling Images",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1106,
      "problem_letter": "E",
      "problem_id": 9186,
      "problem_name": "The Same Game",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1106,
      "problem_letter": "F",
      "problem_id": 9187,
      "problem_name": "Square Cipher",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1106,
      "problem_letter": "G",
      "problem_id": 9188,
      "problem_name": "String Matching",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1106,
      "problem_letter": "H",
      "problem_id": 9189,
      "problem_name": "Triangle War",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "game theory",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1107,
      "problem_letter": "A",
      "problem_id": 9190,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1107,
      "problem_letter": "B",
      "problem_id": 9191,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1107,
      "problem_letter": "C",
      "problem_id": 9192,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1107,
      "problem_letter": "D",
      "problem_id": 9193,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1107,
      "problem_letter": "E",
      "problem_id": 9194,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1107,
      "problem_letter": "F",
      "problem_id": 9195,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1108,
      "problem_letter": "A",
      "problem_id": 9189,
      "problem_name": "Triangle War",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "game theory",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1108,
      "problem_letter": "B",
      "problem_id": 9185,
      "problem_name": "Unscrambling Images",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1108,
      "problem_letter": "F",
      "problem_id": 9182,
      "problem_name": "Biorhythms",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1108,
      "problem_letter": "G",
      "problem_id": 9183,
      "problem_name": "Gone Fishing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "dynamic programming",
        "data structures",
        "greedy",
        "bruteforcing",
        "priority queue",
        "traceback"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "data_structures",
        "greedy",
        "bruteforcing",
        "priority_queue",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1108,
      "problem_letter": "H",
      "problem_id": 9186,
      "problem_name": "The Same Game",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1109,
      "problem_letter": "A",
      "problem_id": 9196,
      "problem_name": "정수 직사각형",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "sorting",
        "precomputation"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1109,
      "problem_letter": "B",
      "problem_id": 9197,
      "problem_name": "ICPC Ranking",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1109,
      "problem_letter": "C",
      "problem_id": 9198,
      "problem_name": "Hierarchical Democracy",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "depth-first search",
        "divide and conquer",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "implementation",
        "parsing",
        "recursion",
        "sorting",
        "string",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "divide_and_conquer",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "implementation",
        "parsing",
        "recursion",
        "sorting",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1109,
      "problem_letter": "D",
      "problem_id": 9199,
      "problem_name": "Prime Caves",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "number theory",
        "simulation",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "number_theory",
        "simulation",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1109,
      "problem_letter": "E",
      "problem_id": 9200,
      "problem_name": "Anchored Balloon",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "ternary search",
        "physics"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "ternary_search",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1109,
      "problem_letter": "F",
      "problem_id": 9201,
      "problem_name": "Rotate and Rewrite",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1110,
      "problem_letter": "A",
      "problem_id": 9202,
      "problem_name": "Boggle",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "graph theory",
        "string",
        "bruteforcing",
        "graph traversal",
        "tree",
        "set / map",
        "depth-first search",
        "backtracking",
        "grid graph",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "string",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "set",
        "dfs",
        "backtracking",
        "grid_graph",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "B",
      "problem_id": 9203,
      "problem_name": "호텔 예약",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "C",
      "problem_id": 9204,
      "problem_name": "체스",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "D",
      "problem_id": 9205,
      "problem_name": "맥주 마시면서 걸어가기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "E",
      "problem_id": 9206,
      "problem_name": "나무 말고 꽃",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "calculus",
        "numerical analysis"
      ],
      "tag_keys": [
        "math",
        "calculus",
        "numerical_analysis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "numerical_analysis",
          "name": "numerical analysis",
          "boj_tag_id": 122
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "F",
      "problem_id": 9207,
      "problem_name": "페그 솔리테어",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "G",
      "problem_id": 9208,
      "problem_name": "링월드",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "greedy",
        "hall's theorem"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "hall"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "H",
      "problem_id": 9209,
      "problem_name": "The King of the North",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "I",
      "problem_id": 9210,
      "problem_name": "복권 표",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "J",
      "problem_id": 9211,
      "problem_name": "타이밍",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1110,
      "problem_letter": "K",
      "problem_id": 9212,
      "problem_name": "트라이앵글",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "A",
      "problem_id": 9213,
      "problem_name": "꽤 좋은 수",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "B",
      "problem_id": 9214,
      "problem_name": "첫 번째 항",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "C",
      "problem_id": 9215,
      "problem_name": "신나는 분수 계산",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "parsing",
        "arbitrary precision / big integers",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "parsing",
        "arbitrary_precision",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "D",
      "problem_id": 9216,
      "problem_name": "The Queen's English",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "E",
      "problem_id": 9217,
      "problem_name": "Powerbase Format",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "F",
      "problem_id": 9218,
      "problem_name": "Jumble Match",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sliding window",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "sliding_window",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "G",
      "problem_id": 9219,
      "problem_name": "Road Trip",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1111,
      "problem_letter": "H",
      "problem_id": 9220,
      "problem_name": "Bafﬂed!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1112,
      "problem_letter": "A",
      "problem_id": 1262,
      "problem_name": "알파벳 다이아몬드",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1112,
      "problem_letter": "C",
      "problem_id": 1267,
      "problem_name": "핸드폰 요금",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "A",
      "problem_id": 1853,
      "problem_name": "정사영",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "calculus",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "calculus",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "B",
      "problem_id": 21381,
      "problem_name": "Bowling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1114,
      "problem_letter": "C",
      "problem_id": 1971,
      "problem_name": "High Spies",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "tree"
      ],
      "tag_keys": [
        "trees"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "D",
      "problem_id": 1985,
      "problem_name": "디지털 친구",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "E",
      "problem_id": 1970,
      "problem_name": "건배",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "F",
      "problem_id": 1886,
      "problem_name": "프리즌 브레이크",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "graph traversal",
        "binary search",
        "breadth-first search",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "binary_search",
        "bfs",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "G",
      "problem_id": 21382,
      "problem_name": "Decompression",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "dynamic programming",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "H",
      "problem_id": 2050,
      "problem_name": "타일 게임",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1114,
      "problem_letter": "I",
      "problem_id": 21383,
      "problem_name": "Make it Manhattan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1116,
      "problem_letter": "C",
      "problem_id": 22752,
      "problem_name": "Cells",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1116,
      "problem_letter": "H",
      "problem_id": 22757,
      "problem_name": "Hills",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "geometry",
        "line segment intersection check",
        "planar graph"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "line_intersection",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 1116,
      "problem_letter": "I",
      "problem_id": 2131,
      "problem_name": "로봇 명령",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "dynamic programming",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1119,
      "problem_letter": "A",
      "problem_id": 6157,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1119,
      "problem_letter": "B",
      "problem_id": 6237,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1119,
      "problem_letter": "C",
      "problem_id": 6235,
      "problem_name": "Argus",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1119,
      "problem_letter": "D",
      "problem_id": 6158,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1119,
      "problem_letter": "E",
      "problem_id": 2280,
      "problem_name": "정사각형과 점",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1119,
      "problem_letter": "F",
      "problem_id": 1763,
      "problem_name": "트리 색칠",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "greedy",
        "tree",
        "disjoint set",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "trees",
        "disjoint_set",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1119,
      "problem_letter": "G",
      "problem_id": 6215,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1119,
      "problem_letter": "H",
      "problem_id": 2288,
      "problem_name": "격자의 분리자",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1119,
      "problem_letter": "I",
      "problem_id": 6204,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1124,
      "problem_letter": "A",
      "problem_id": 5480,
      "problem_name": "전함",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "offline queries",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "offline_queries",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "B",
      "problem_id": 6064,
      "problem_name": "카잉 달력",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "C",
      "problem_id": 6090,
      "problem_name": "Casting",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "combinatorics",
        "convex hull",
        "geometry",
        "mathematics",
        "rotating calipers"
      ],
      "tag_keys": [
        "combinatorics",
        "convex_hull",
        "geometry",
        "math",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "D",
      "problem_id": 7662,
      "problem_name": "이중 우선순위 큐",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "set / map",
        "priority queue",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "priority_queue",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "E",
      "problem_id": 3163,
      "problem_name": "떨어지는 개미",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "F",
      "problem_id": 3758,
      "problem_name": "KCPC",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "G",
      "problem_id": 3300,
      "problem_name": "무어 기계",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "string",
        "bruteforcing",
        "parsing",
        "regular expression"
      ],
      "tag_keys": [
        "dp",
        "string",
        "bruteforcing",
        "parsing",
        "regex"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "H",
      "problem_id": 3295,
      "problem_name": "단방향 링크 네트워크",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "I",
      "problem_id": 8992,
      "problem_name": "집기 게임",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "geometry",
        "maximum flow",
        "line segment intersection check",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "flow",
        "line_intersection",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "J",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "K",
      "problem_id": 4243,
      "problem_name": "보안 업체",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1124,
      "problem_letter": "L",
      "problem_id": 4256,
      "problem_name": "트리",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "trees",
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1125,
      "problem_letter": "A",
      "problem_id": 3342,
      "problem_name": "Lanterns",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1125,
      "problem_letter": "B",
      "problem_id": 2030,
      "problem_name": "Burger King",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "implementation",
        "queue",
        "simulation"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "queue",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1125,
      "problem_letter": "C",
      "problem_id": 2047,
      "problem_name": "미로",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1125,
      "problem_letter": "D",
      "problem_id": 2181,
      "problem_name": "Walking the dog",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1125,
      "problem_letter": "E",
      "problem_id": 4615,
      "problem_name": "Power cables to sewer pipes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1125,
      "problem_letter": "F",
      "problem_id": 2391,
      "problem_name": "Sascha",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1125,
      "problem_letter": "G",
      "problem_id": 3466,
      "problem_name": "Choir",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1125,
      "problem_letter": "H",
      "problem_id": 7035,
      "problem_name": "Recycling proteins",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1126,
      "problem_letter": "A",
      "problem_id": 1871,
      "problem_name": "좋은 자동차 번호판",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "B",
      "problem_id": 1876,
      "problem_name": "튕기는 볼링공",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "C",
      "problem_id": 1893,
      "problem_name": "시저 암호",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "string",
        "bruteforcing",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "D",
      "problem_id": 1896,
      "problem_name": "파급효과",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "E",
      "problem_id": 1901,
      "problem_name": "논리식",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "parsing",
        "recursion"
      ],
      "tag_keys": [
        "string",
        "parsing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "F",
      "problem_id": 1559,
      "problem_name": "놀라운 미로",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bitmask",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "bitmask",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "G",
      "problem_id": 1680,
      "problem_name": "쓰레기 수거",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1126,
      "problem_letter": "H",
      "problem_id": 1807,
      "problem_name": "척 노리스",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "A",
      "problem_id": 1820,
      "problem_name": "Partitioning for fun and profit",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "B",
      "problem_id": 1775,
      "problem_name": "ASCII Labyrinth",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "C",
      "problem_id": 1778,
      "problem_name": "Ubiquitous Religions",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "disjoint set",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "disjoint_set",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "D",
      "problem_id": 1779,
      "problem_name": "Text Formalization",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "E",
      "problem_id": 1768,
      "problem_name": "Center of symmetry",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "data structures",
        "sorting",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "sorting",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "F",
      "problem_id": 1716,
      "problem_name": "Polynomial Remains",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "G",
      "problem_id": 2370,
      "problem_name": "시장 선거 포스터",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "implementation",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1127,
      "problem_letter": "H",
      "problem_id": 1791,
      "problem_name": "Queuing at the doctors",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "priority queue",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "priority_queue",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "A",
      "problem_id": 1793,
      "problem_name": "타일링",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "B",
      "problem_id": 2022,
      "problem_name": "사다리",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "C",
      "problem_id": 1798,
      "problem_name": "원뿔좌표계상의 거리",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "D",
      "problem_id": 1673,
      "problem_name": "치킨 쿠폰",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "E",
      "problem_id": 1674,
      "problem_name": "성준이와 초콜릿",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "F",
      "problem_id": 1683,
      "problem_name": "책장 맨 윗칸",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "G",
      "problem_id": 1694,
      "problem_name": "Chessboard in FEN",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1128,
      "problem_letter": "H",
      "problem_id": 1696,
      "problem_name": "색 막대",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "A",
      "problem_id": 1894,
      "problem_name": "4번째 점",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "B",
      "problem_id": 1643,
      "problem_name": "쿠폰",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "C",
      "problem_id": 1633,
      "problem_name": "최고의 팀 만들기",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "D",
      "problem_id": 1686,
      "problem_name": "복날",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "geometry",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "geometry",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "E",
      "problem_id": 1656,
      "problem_name": "덜컹덜컹",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "physics"
      ],
      "tag_keys": [
        "geometry",
        "physics"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "F",
      "problem_id": 1622,
      "problem_name": "공통 순열",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1129,
      "problem_letter": "G",
      "problem_id": 1698,
      "problem_name": "보안 패널",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1129,
      "problem_letter": "H",
      "problem_id": 1595,
      "problem_name": "북쪽나라의 도로",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 1137,
      "problem_letter": "A",
      "problem_id": 6070,
      "problem_name": "Chocolate",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory",
        "exponentiation by squaring",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability",
        "exponentiation_by_squaring",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 1137,
      "problem_letter": "B",
      "problem_id": 6071,
      "problem_name": "Game Prediction",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1137,
      "problem_letter": "C",
      "problem_id": 6061,
      "problem_name": "Holedox Moving",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1137,
      "problem_letter": "D",
      "problem_id": 6058,
      "problem_name": "Machine Schedule",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1137,
      "problem_letter": "E",
      "problem_id": 6243,
      "problem_name": "Mileage Bank",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1137,
      "problem_letter": "F",
      "problem_id": 6244,
      "problem_name": "Moving Object Recognition",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1137,
      "problem_letter": "G",
      "problem_id": 6140,
      "problem_name": "Radar Installation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1137,
      "problem_letter": "H",
      "problem_id": 6133,
      "problem_name": "Random Walk",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "A",
      "problem_id": 6224,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "B",
      "problem_id": 6225,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "C",
      "problem_id": 3791,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "D",
      "problem_id": 3241,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "E",
      "problem_id": 2246,
      "problem_name": "콘도 선정",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1138,
      "problem_letter": "F",
      "problem_id": 3775,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "G",
      "problem_id": 3776,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "H",
      "problem_id": 3465,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1138,
      "problem_letter": "I",
      "problem_id": 3393,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1139,
      "problem_letter": "A",
      "problem_id": 5061,
      "problem_name": "Amphiphilic Carbon Molecules",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "sliding window",
        "angle sorting",
        "linear programming"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "sliding_window",
        "angle_sorting",
        "linear_programming"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "B",
      "problem_id": 5065,
      "problem_name": "Link and Pop -- the Block Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1139,
      "problem_letter": "C",
      "problem_id": 5066,
      "problem_name": "The Counting Problem",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "D",
      "problem_id": 5062,
      "problem_name": "Different Digits",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "number theory",
        "breadth-first search",
        "shortest path",
        "traceback"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "number_theory",
        "bfs",
        "shortest_path",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "E",
      "problem_id": 5488,
      "problem_name": "That Nice Euler Circuit",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "line segment intersection check",
        "euler characteristic (χ=v-e+f)"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "euler_characteristic"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "F",
      "problem_id": 5072,
      "problem_name": "The Floor Bricks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1139,
      "problem_letter": "G",
      "problem_id": 5070,
      "problem_name": "The Rotation Game",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "heuristics",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "heuristics",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "H",
      "problem_id": 5071,
      "problem_name": "Tian Ji -- The Horse Racing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "I",
      "problem_id": 6275,
      "problem_name": "Islands and Bridges",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1139,
      "problem_letter": "J",
      "problem_id": 7536,
      "problem_name": "Jamie's Contact Groups",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "maximum flow",
        "parametric search",
        "graph theory"
      ],
      "tag_keys": [
        "binary_search",
        "flow",
        "parametric_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1140,
      "problem_letter": "A",
      "problem_id": 8139,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "B",
      "problem_id": 7521,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "C",
      "problem_id": 8569,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "D",
      "problem_id": 3274,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "E",
      "problem_id": 7985,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "F",
      "problem_id": 7986,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "G",
      "problem_id": 7988,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "H",
      "problem_id": 7991,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "I",
      "problem_id": 7069,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1140,
      "problem_letter": "J",
      "problem_id": 7969,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1141,
      "problem_letter": "A",
      "problem_id": 7064,
      "problem_name": "Air Raid",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1141,
      "problem_letter": "B",
      "problem_id": 7894,
      "problem_name": "큰 수",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1141,
      "problem_letter": "C",
      "problem_id": 7068,
      "problem_name": "Diamonds",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1141,
      "problem_letter": "D",
      "problem_id": 4741,
      "problem_name": "Enigmatic Travel",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1141,
      "problem_letter": "E",
      "problem_id": 4994,
      "problem_name": "배수 찾기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1141,
      "problem_letter": "F",
      "problem_id": 4629,
      "problem_name": "Get Them All",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1141,
      "problem_letter": "G",
      "problem_id": 4249,
      "problem_name": "Hermes' Colony",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1141,
      "problem_letter": "H",
      "problem_id": 4248,
      "problem_name": "Chat Rooms",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "A",
      "problem_id": 1264,
      "problem_name": "모음의 개수",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "B",
      "problem_id": 1259,
      "problem_name": "팰린드롬수",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "C",
      "problem_id": 1284,
      "problem_name": "집 주소",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "D",
      "problem_id": 1362,
      "problem_name": "펫",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "E",
      "problem_id": 1380,
      "problem_name": "귀걸이",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "F",
      "problem_id": 1384,
      "problem_name": "메시지",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "G",
      "problem_id": 1703,
      "problem_name": "생장점",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "H",
      "problem_id": 1864,
      "problem_name": "문어 숫자",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "I",
      "problem_id": 1148,
      "problem_name": "단어 만들기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "J",
      "problem_id": 1811,
      "problem_name": "Adjacent Mastermind",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "K",
      "problem_id": 2006,
      "problem_name": "Chemistry 101",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "parsing",
        "sorting",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "parsing",
        "sorting",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "L",
      "problem_id": 2127,
      "problem_name": "Limit Checking",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "simulation",
        "set / map",
        "case work",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "simulation",
        "set",
        "case_work",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "M",
      "problem_id": 1710,
      "problem_name": "Flattening Tables",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "N",
      "problem_id": 1880,
      "problem_name": "Big Brother",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "ad-hoc",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1142,
      "problem_letter": "O",
      "problem_id": 1993,
      "problem_name": "경주",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "set / map",
        "meet in the middle"
      ],
      "tag_keys": [
        "dp",
        "set",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "A",
      "problem_id": 2204,
      "problem_name": "도비의 난독증 테스트",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "B",
      "problem_id": 2083,
      "problem_name": "럭비 클럽",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "C",
      "problem_id": 2139,
      "problem_name": "나는 너가 살아온 날을 알고 있다",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "D",
      "problem_id": 2145,
      "problem_name": "숫자 놀이",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "E",
      "problem_id": 2189,
      "problem_name": "Magickology",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "F",
      "problem_id": 2148,
      "problem_name": "Super 12",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "G",
      "problem_id": 2235,
      "problem_name": "GPS Encoding",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "dynamic programming",
        "string",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "string",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "H",
      "problem_id": 2202,
      "problem_name": "Custom table sorter",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "I",
      "problem_id": 2214,
      "problem_name": "성냥개비와 정사각형",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "J",
      "problem_id": 2227,
      "problem_name": "Checking Causality",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1143,
      "problem_letter": "K",
      "problem_id": 2249,
      "problem_name": "Olympic Ranking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1143,
      "problem_letter": "L",
      "problem_id": 2267,
      "problem_name": "Bus Timetable",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "M",
      "problem_id": 2274,
      "problem_name": "Conflicting Strings",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "heuristics",
        "string"
      ],
      "tag_keys": [
        "graphs",
        "heuristics",
        "string"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "O",
      "problem_id": 2310,
      "problem_name": "어드벤처 게임",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1143,
      "problem_letter": "P",
      "problem_id": 2384,
      "problem_name": "I’m a Frayed Knot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1144,
      "problem_letter": "A",
      "problem_id": 4287,
      "problem_name": "Word Ratios",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "B",
      "problem_id": 4852,
      "problem_name": "Winter Festival",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "graphs",
        "graph_traversal",
        "hash_set",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "C",
      "problem_id": 7292,
      "problem_name": "Scrabble Scoring",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "D",
      "problem_id": 8009,
      "problem_name": "Holiday Costing",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "F",
      "problem_id": 8959,
      "problem_name": "Stuttering Strings",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "G",
      "problem_id": 7532,
      "problem_name": "Dart Scoring",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "simulation",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "H",
      "problem_id": 9221,
      "problem_name": "A Voting Protocol",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1144,
      "problem_letter": "I",
      "problem_id": 9222,
      "problem_name": "Family Trees",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1144,
      "problem_letter": "K",
      "problem_id": 9223,
      "problem_name": "The Jury is out",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "M",
      "problem_id": 9224,
      "problem_name": "Box Toppling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1144,
      "problem_letter": "N",
      "problem_id": 9225,
      "problem_name": "Superstitious Helicopter Pilots",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "W",
      "problem_id": 2386,
      "problem_name": "도비의 영어 공부",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "X",
      "problem_id": 2975,
      "problem_name": "Transactions",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "Y",
      "problem_id": 3183,
      "problem_name": "Dates",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1144,
      "problem_letter": "Z",
      "problem_id": 4072,
      "problem_name": "Words",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "A",
      "problem_id": 9226,
      "problem_name": "도깨비말",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "B",
      "problem_id": 9227,
      "problem_name": "W**h y**r mouth out with s**p",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "C",
      "problem_id": 9228,
      "problem_name": "Check Digits",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "D",
      "problem_id": 9229,
      "problem_name": "단어 사다리",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "F",
      "problem_id": 9230,
      "problem_name": "TAXI ROUTES",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "G",
      "problem_id": 9231,
      "problem_name": "URNS",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "H",
      "problem_id": 9232,
      "problem_name": "Crossword Puzzle Clue Numbering",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "I",
      "problem_id": 9233,
      "problem_name": "Molecules, Molecules",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "K",
      "problem_id": 9234,
      "problem_name": "Molecules, Molecules 2",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1145,
      "problem_letter": "L",
      "problem_id": 9235,
      "problem_name": "Fragment reassembly",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1146,
      "problem_letter": "A",
      "problem_id": 9237,
      "problem_name": "이장님 초대",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "B",
      "problem_id": 9238,
      "problem_name": "당근 볶기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "C",
      "problem_id": 9239,
      "problem_name": "스티브 잡숭",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "D",
      "problem_id": 9240,
      "problem_name": "로버트 후드",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "E",
      "problem_id": 9241,
      "problem_name": "바이러스 복제",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "F",
      "problem_id": 9242,
      "problem_name": "폭탄 해체",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "G",
      "problem_id": 9243,
      "problem_name": "파일 완전 삭제",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "string",
        "parity"
      ],
      "tag_keys": [
        "string",
        "parity"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "H",
      "problem_id": 9244,
      "problem_name": "핀볼",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "set / map",
        "sweeping",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "set",
        "sweeping",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "I",
      "problem_id": 9245,
      "problem_name": "댄스",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "set / map by hashing",
        "mathematics",
        "modular multiplicative inverse",
        "number theory",
        "permutation cycle decomposition",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "math",
        "modular_multiplicative_inverse",
        "number_theory",
        "permutation_cycle_decomposition",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "J",
      "problem_id": 9246,
      "problem_name": "다트판",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "probability theory",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "probability",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1146,
      "problem_letter": "K",
      "problem_id": 9247,
      "problem_name": "절벽 걷기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "A",
      "problem_id": 9263,
      "problem_name": "Russian Dolls",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "B",
      "problem_id": 9264,
      "problem_name": "Intercity",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "graph traversal",
        "binary search",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "binary_search",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "C",
      "problem_id": 9265,
      "problem_name": "Count",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "binary search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "D",
      "problem_id": 9266,
      "problem_name": "체스 게임",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "game theory"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "E",
      "problem_id": 9267,
      "problem_name": "A+B",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "number theory",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "F",
      "problem_id": 9268,
      "problem_name": "Dragon Pattern",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "dynamic programming",
        "string",
        "exponentiation by squaring",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "math",
        "dp",
        "string",
        "exponentiation_by_squaring",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "G",
      "problem_id": 9269,
      "problem_name": "Points",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "H",
      "problem_id": 9270,
      "problem_name": "Red John Game",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "I",
      "problem_id": 9271,
      "problem_name": "Influence",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "dfs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1149,
      "problem_letter": "J",
      "problem_id": 9272,
      "problem_name": "상근이의 아이디어",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "L",
      "problem_id": 9273,
      "problem_name": "정제헌을 팔자!",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "M",
      "problem_id": 9274,
      "problem_name": "종이 지도",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "N",
      "problem_id": 9275,
      "problem_name": "토끼와 상근",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "O",
      "problem_id": 9276,
      "problem_name": "채소 보호",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bruteforcing",
        "geometry",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "P",
      "problem_id": 9277,
      "problem_name": "꽃병",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "Q",
      "problem_id": 9278,
      "problem_name": "절망적인 줄",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "R",
      "problem_id": 9279,
      "problem_name": "얼어붙은 스프링쿨러",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1150,
      "problem_letter": "S",
      "problem_id": 9280,
      "problem_name": "False Sense of Security",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "A",
      "problem_id": 9318,
      "problem_name": "위성 사진",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "value / coordinate compression",
        "difference array"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "coordinate_compression",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "B",
      "problem_id": 9319,
      "problem_name": "도청 장치",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "C",
      "problem_id": 9320,
      "problem_name": "금고 열기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing",
        "combinatorics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "combinatorics",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "D",
      "problem_id": 9321,
      "problem_name": "Dreaded Alternating Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "directed acyclic graph",
        "dynamic programming",
        "game theory",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dag",
        "dp",
        "game_theory",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "E",
      "problem_id": 9322,
      "problem_name": "철벽 보안 알고리즘",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "F",
      "problem_id": 9323,
      "problem_name": "무임승차",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "G",
      "problem_id": 9324,
      "problem_name": "진짜 메시지",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "H",
      "problem_id": 9325,
      "problem_name": "얼마?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "I",
      "problem_id": 9326,
      "problem_name": "MI6",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "J",
      "problem_id": 9327,
      "problem_name": "용량 확보",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1155,
      "problem_letter": "K",
      "problem_id": 9328,
      "problem_name": "열쇠",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "A",
      "problem_id": 9329,
      "problem_name": "패스트 푸드 상금",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "B",
      "problem_id": 9330,
      "problem_name": "Seven Kingdoms",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "2-sat",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "C",
      "problem_id": 9331,
      "problem_name": "Institute of Advanced Category Manipulation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bruteforcing",
        "geometry",
        "convex hull",
        "geometry; 3d"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "convex_hull",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "D",
      "problem_id": 9332,
      "problem_name": "Digital Content Protection",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "E",
      "problem_id": 9333,
      "problem_name": "돈 갚기",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "F",
      "problem_id": 9334,
      "problem_name": "IQ 테스트",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "linear algebra",
        "berlekamp–massey"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "berlekamp_massey"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "berlekamp_massey",
          "name": "berlekamp–massey",
          "boj_tag_id": 110
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "G",
      "problem_id": 9335,
      "problem_name": "소셜 광고",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "H",
      "problem_id": 9336,
      "problem_name": "아스키 아트 표",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "I",
      "problem_id": 9337,
      "problem_name": "Flood-It",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1156,
      "problem_letter": "J",
      "problem_id": 9338,
      "problem_name": "Chemicals Monitoring",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "A",
      "problem_id": 9339,
      "problem_name": "마라토너",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "B",
      "problem_id": 9340,
      "problem_name": "Network Planning",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "graph theory",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "C",
      "problem_id": 9341,
      "problem_name": "ZZ",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "dp",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "D",
      "problem_id": 9342,
      "problem_name": "염색체",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "E",
      "problem_id": 9343,
      "problem_name": "랜덤 걷기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "modular multiplicative inverse",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "modular_multiplicative_inverse",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "F",
      "problem_id": 9344,
      "problem_name": "도로",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "G",
      "problem_id": 9345,
      "problem_name": "디지털 비디오 디스크(DVDs)",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "H",
      "problem_id": 9346,
      "problem_name": "영화관",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "bitmask",
        "backtracking",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "backtracking",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "I",
      "problem_id": 9347,
      "problem_name": "울타리",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1157,
      "problem_letter": "J",
      "problem_id": 9348,
      "problem_name": "Magic Graphs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1158,
      "problem_letter": "A",
      "problem_id": 9349,
      "problem_name": "Fegla and the Bed Bugs",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1158,
      "problem_letter": "B",
      "problem_id": 9350,
      "problem_name": "Do Not Disturb!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1158,
      "problem_letter": "C",
      "problem_id": 9351,
      "problem_name": "Casino",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1158,
      "problem_letter": "D",
      "problem_id": 9352,
      "problem_name": "Fundraised",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1158,
      "problem_letter": "E",
      "problem_id": 9353,
      "problem_name": "You Shall Not Pass!!",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1158,
      "problem_letter": "F",
      "problem_id": 9354,
      "problem_name": "It Is Cold",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1158,
      "problem_letter": "G",
      "problem_id": 9355,
      "problem_name": "Passwords",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1158,
      "problem_letter": "H",
      "problem_id": 9356,
      "problem_name": "Skill",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1158,
      "problem_letter": "I",
      "problem_id": 9357,
      "problem_name": "Eligibility",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "A",
      "problem_id": 9358,
      "problem_name": "순열 접기 게임",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "B",
      "problem_id": 9359,
      "problem_name": "서로소",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "inclusion and exclusion",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "inclusion_and_exclusion",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "C",
      "problem_id": 9360,
      "problem_name": "윔블던",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "arbitrary precision / big integers",
        "bayes theorem",
        "implementation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "bayes",
        "implementation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "bayes",
          "name": "bayes theorem",
          "boj_tag_id": 114
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "D",
      "problem_id": 9361,
      "problem_name": "Manhattan Sort",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "E",
      "problem_id": 9362,
      "problem_name": "Cipher",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1159,
      "problem_letter": "F",
      "problem_id": 9363,
      "problem_name": "큰 나눗셈",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "G",
      "problem_id": 9364,
      "problem_name": "Calculator",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "H",
      "problem_id": 9365,
      "problem_name": "Crank",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1159,
      "problem_letter": "I",
      "problem_id": 9366,
      "problem_name": "삼각형 분류",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "A",
      "problem_id": 9367,
      "problem_name": "관리 난항",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "B",
      "problem_id": 9368,
      "problem_name": "매수",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "C",
      "problem_id": 9369,
      "problem_name": "암호 깨기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "D",
      "problem_id": 9370,
      "problem_name": "미확인 도착지",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "E",
      "problem_id": 9371,
      "problem_name": "인코딩 좌표",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "F",
      "problem_id": 9372,
      "problem_name": "상근이의 여행",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "graph theory",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "G",
      "problem_id": 9373,
      "problem_name": "복도 뚫기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "geometry",
        "disjoint set",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "geometry",
        "disjoint_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "H",
      "problem_id": 9374,
      "problem_name": "감시 카메라",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "line segment intersection check",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "I",
      "problem_id": 9375,
      "problem_name": "패션왕 신해빈",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "data structures",
        "set / map",
        "combinatorics",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "set",
        "combinatorics",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1160,
      "problem_letter": "J",
      "problem_id": 9376,
      "problem_name": "탈옥",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1161,
      "problem_letter": "A",
      "problem_id": 9377,
      "problem_name": "String LD",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1161,
      "problem_letter": "B",
      "problem_id": 9378,
      "problem_name": "Painting",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1161,
      "problem_letter": "C",
      "problem_id": 9379,
      "problem_name": "Another Brick in the Wall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1161,
      "problem_letter": "D",
      "problem_id": 9380,
      "problem_name": "Blast the Enemy!",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "geometry",
        "calculus",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "calculus",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1161,
      "problem_letter": "E",
      "problem_id": 9381,
      "problem_name": "deltree",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1161,
      "problem_letter": "F",
      "problem_id": 9382,
      "problem_name": "Solar Eclipse",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "geometry",
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1161,
      "problem_letter": "G",
      "problem_id": 9383,
      "problem_name": "Hurry Plotter",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1161,
      "problem_letter": "H",
      "problem_id": 9384,
      "problem_name": "ACM Coalition",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1161,
      "problem_letter": "I",
      "problem_id": 9385,
      "problem_name": "Fruit Weights",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1161,
      "problem_letter": "J",
      "problem_id": 9386,
      "problem_name": "Royal Gems",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1162,
      "problem_letter": "A",
      "problem_id": 9387,
      "problem_name": "Gholam’s Simple Game",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1162,
      "problem_letter": "B",
      "problem_id": 9388,
      "problem_name": "Arbiter Login",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1162,
      "problem_letter": "C",
      "problem_id": 9389,
      "problem_name": "Drop7",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1162,
      "problem_letter": "D",
      "problem_id": 9390,
      "problem_name": "Seven Segment Counter",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1162,
      "problem_letter": "E",
      "problem_id": 9391,
      "problem_name": "Bus Shuttle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1162,
      "problem_letter": "F",
      "problem_id": 9392,
      "problem_name": "Conditional Statements",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1162,
      "problem_letter": "G",
      "problem_id": 9393,
      "problem_name": "Genome Evolution",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "set / map"
      ],
      "tag_keys": [
        "ad_hoc",
        "set"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1162,
      "problem_letter": "H",
      "problem_id": 9394,
      "problem_name": "World Cup Nominations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1162,
      "problem_letter": "I",
      "problem_id": 9395,
      "problem_name": "Killbots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1162,
      "problem_letter": "J",
      "problem_id": 9396,
      "problem_name": "Indisputable Right",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1162,
      "problem_letter": "K",
      "problem_id": 9397,
      "problem_name": "The Mayo Empire",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1163,
      "problem_letter": "A",
      "problem_id": 9398,
      "problem_name": "A Password Policy Requirement",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "B",
      "problem_id": 9399,
      "problem_name": "Best Friends",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "C",
      "problem_id": 9400,
      "problem_name": "Calculate the Fence Needed",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "D",
      "problem_id": 9401,
      "problem_name": "Diamonds",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "E",
      "problem_id": 9402,
      "problem_name": "The Avaricious ISP",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "F",
      "problem_id": 9403,
      "problem_name": "Border Conflict",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "G",
      "problem_id": 9404,
      "problem_name": "Goguryeo and the Crown Prince",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "graph theory",
        "string",
        "graph traversal",
        "game theory",
        "linear algebra",
        "knuth–morris–pratt",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "string",
        "graph_traversal",
        "game_theory",
        "linear_algebra",
        "kmp",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1163,
      "problem_letter": "H",
      "problem_id": 9405,
      "problem_name": "Array Game",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1163,
      "problem_letter": "I",
      "problem_id": 9406,
      "problem_name": "Tracking Robots",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1163,
      "problem_letter": "J",
      "problem_id": 9407,
      "problem_name": "ACM Revenge",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "binary search",
        "depth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "binary_search",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1164,
      "problem_letter": "A",
      "problem_id": 9408,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1164,
      "problem_letter": "B",
      "problem_id": 9409,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1164,
      "problem_letter": "C",
      "problem_id": 9410,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1164,
      "problem_letter": "D",
      "problem_id": 9411,
      "problem_name": "실수 계산",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "implementation",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1164,
      "problem_letter": "E",
      "problem_id": 9412,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1164,
      "problem_letter": "F",
      "problem_id": 9413,
      "problem_name": "제주도 관광",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1164,
      "problem_letter": "G",
      "problem_id": 9414,
      "problem_name": "프로그래밍 대회 전용 부지",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1164,
      "problem_letter": "H",
      "problem_id": 9415,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1164,
      "problem_letter": "I",
      "problem_id": 9416,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1164,
      "problem_letter": "J",
      "problem_id": 9417,
      "problem_name": "최대 GCD",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1165,
      "problem_letter": "A",
      "problem_id": 9418,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1165,
      "problem_letter": "B",
      "problem_id": 9419,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1165,
      "problem_letter": "C",
      "problem_id": 9420,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1165,
      "problem_letter": "D",
      "problem_id": 9421,
      "problem_name": "소수상근수",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1165,
      "problem_letter": "E",
      "problem_id": 9422,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1165,
      "problem_letter": "F",
      "problem_id": 9423,
      "problem_name": "레슬링 팀 선발",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1165,
      "problem_letter": "G",
      "problem_id": 9424,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1165,
      "problem_letter": "H",
      "problem_id": 9425,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1166,
      "problem_letter": "1",
      "problem_id": 9427,
      "problem_name": "Drop Zone",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "2",
      "problem_id": 9428,
      "problem_name": "Effective Infection Time",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "3",
      "problem_id": 9429,
      "problem_name": "Outpost Navigation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "case work",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "case_work",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "4",
      "problem_id": 9430,
      "problem_name": "Multikill",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "5",
      "problem_id": 9431,
      "problem_name": "Virology",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "6",
      "problem_id": 9432,
      "problem_name": "Worst Case Scenario",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "7",
      "problem_id": 9433,
      "problem_name": "Zombie Invasion",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1166,
      "problem_letter": "8",
      "problem_id": 9434,
      "problem_name": "Zombdar",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "A",
      "problem_id": 9435,
      "problem_name": "Welcome Party",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "B",
      "problem_id": 9436,
      "problem_name": "Round Robin",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "C",
      "problem_id": 9437,
      "problem_name": "사라진 페이지 찾기",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "D",
      "problem_id": 9438,
      "problem_name": "Probability Paradox",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "probability theory",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "probability",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "E",
      "problem_id": 9439,
      "problem_name": "Letter Cubes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1167,
      "problem_letter": "F",
      "problem_id": 9440,
      "problem_name": "숫자 더하기",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "G",
      "problem_id": 9441,
      "problem_name": "Cash Cow",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1167,
      "problem_letter": "H",
      "problem_id": 9442,
      "problem_name": "Sort Me",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "A",
      "problem_id": 9443,
      "problem_name": "Arrangement of Contest",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "B",
      "problem_id": 9444,
      "problem_name": "Ballot Analyzing Device",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "string",
        "sorting",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "sorting",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "C",
      "problem_id": 9445,
      "problem_name": "Correcting Curiosity",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1168,
      "problem_letter": "D",
      "problem_id": 9446,
      "problem_name": "아이템 제작",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "E",
      "problem_id": 9447,
      "problem_name": "Energy Tycoon",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "F",
      "problem_id": 9448,
      "problem_name": "Flight Boarding Optimization",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1168,
      "problem_letter": "G",
      "problem_id": 9449,
      "problem_name": "Garage",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "H",
      "problem_id": 9450,
      "problem_name": "Heavy Chain Clusterization",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1168,
      "problem_letter": "I",
      "problem_id": 9451,
      "problem_name": "Intellectual Property",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1168,
      "problem_letter": "J",
      "problem_id": 9452,
      "problem_name": "J",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "K",
      "problem_id": 9453,
      "problem_name": "학생의 수",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive",
        "graph theory",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "graphs",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1168,
      "problem_letter": "L",
      "problem_id": 9454,
      "problem_name": "Lonely Mountain",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "sweeping",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "sweeping",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "A",
      "problem_id": 9455,
      "problem_name": "박스",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "B",
      "problem_id": 9456,
      "problem_name": "Buckets",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1169,
      "problem_letter": "C",
      "problem_id": 9457,
      "problem_name": "기하학문양",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "D",
      "problem_id": 9458,
      "problem_name": "Golf Field",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1169,
      "problem_letter": "E",
      "problem_id": 9459,
      "problem_name": "International Event",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1169,
      "problem_letter": "F",
      "problem_id": 9460,
      "problem_name": "메탈",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "sorting",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "G",
      "problem_id": 9461,
      "problem_name": "파도반 수열",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "H",
      "problem_id": 9462,
      "problem_name": "Passwords",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1169,
      "problem_letter": "I",
      "problem_id": 9463,
      "problem_name": "순열 그래프",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "J",
      "problem_id": 9464,
      "problem_name": "직사각형 집합",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "K",
      "problem_id": 9465,
      "problem_name": "스티커",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1169,
      "problem_letter": "L",
      "problem_id": 9466,
      "problem_name": "텀 프로젝트",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "A",
      "problem_id": 9468,
      "problem_name": "Islands in the Data Stream",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "B",
      "problem_id": 9469,
      "problem_name": "폰 노이만",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "C",
      "problem_id": 9470,
      "problem_name": "Strahler 순서",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "D",
      "problem_id": 9471,
      "problem_name": "피사노 주기",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "pisano period"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "pisano"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "pisano",
          "name": "pisano period",
          "boj_tag_id": 232
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "E",
      "problem_id": 9472,
      "problem_name": "알고리즘 기말고사",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "F",
      "problem_id": 9473,
      "problem_name": "Chomp",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "G",
      "problem_id": 9474,
      "problem_name": "삼각 분할과 삼각형",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "constructive",
        "mathematics"
      ],
      "tag_keys": [
        "constructive",
        "math"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "H",
      "problem_id": 9475,
      "problem_name": "파스칼 제곱",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "combinatorics",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 1170,
      "problem_letter": "I",
      "problem_id": 9476,
      "problem_name": "Contraband",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1171,
      "problem_letter": "A",
      "problem_id": 9477,
      "problem_name": "아름다운 강산",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "case work",
        "mathematics",
        "number theory",
        "prefix sum",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "math",
        "number_theory",
        "prefix_sum",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "B",
      "problem_id": 9478,
      "problem_name": "Nested 팰린드롬",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "C",
      "problem_id": 9479,
      "problem_name": "Ping!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "D",
      "problem_id": 9480,
      "problem_name": "Electric Car Rally",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "dial"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "dial"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dial",
          "name": "dial",
          "boj_tag_id": 224
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "E",
      "problem_id": 9481,
      "problem_name": "Skyscrapers",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "F",
      "problem_id": 9482,
      "problem_name": "가까운 만유인력",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "data structures",
        "geometry",
        "geometry; 3d",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "geometry",
        "geometry_3d",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "G",
      "problem_id": 9483,
      "problem_name": "Tandem Repeats",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "string",
        "divide and conquer",
        "suffix array and lcp array",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "string",
        "divide_and_conquer",
        "suffix_array",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "H",
      "problem_id": 9484,
      "problem_name": "최대삼각형, 최소삼각형",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "bulldozer trick"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 1171,
      "problem_letter": "I",
      "problem_id": 9485,
      "problem_name": "It Takes a Village",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1171,
      "problem_letter": "J",
      "problem_id": 9486,
      "problem_name": "이름 남기기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "A",
      "problem_id": 9487,
      "problem_name": "Cut the Cake",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "euler characteristic (χ=v-e+f)",
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "euler_characteristic",
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "B",
      "problem_id": 9488,
      "problem_name": "The n Days of Christmas",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "C",
      "problem_id": 9479,
      "problem_name": "Ping!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "D",
      "problem_id": 9480,
      "problem_name": "Electric Car Rally",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "dial"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "dial"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dial",
          "name": "dial",
          "boj_tag_id": 224
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "E",
      "problem_id": 9489,
      "problem_name": "사촌",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "F",
      "problem_id": 9490,
      "problem_name": "Decimal Representation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "G",
      "problem_id": 9491,
      "problem_name": "Politics",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "H",
      "problem_id": 9492,
      "problem_name": "Perfect Shuffle",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "I",
      "problem_id": 9493,
      "problem_name": "길면 기차, 기차는 빨라, 빠른 것은 비행기",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1172,
      "problem_letter": "J",
      "problem_id": 9494,
      "problem_name": "Text Roll",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "A",
      "problem_id": 9501,
      "problem_name": "꿍의 우주여행",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "B",
      "problem_id": 9502,
      "problem_name": "Bones’s Battery",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "parametric search",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "parametric_search",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "C",
      "problem_id": 9503,
      "problem_name": "Crusher’s Code",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "implementation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "implementation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "D",
      "problem_id": 9504,
      "problem_name": "Delta Quadrant",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1173,
      "problem_letter": "E",
      "problem_id": 9505,
      "problem_name": "엔터프라이즈호 탈출",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "F",
      "problem_id": 9506,
      "problem_name": "약수들의 합",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "G",
      "problem_id": 9507,
      "problem_name": "Generations of Tribbles",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "H",
      "problem_id": 9508,
      "problem_name": "Holodeck Hacking",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "I",
      "problem_id": 9509,
      "problem_name": "Interstellar Trade",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "bruteforcing",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "J",
      "problem_id": 9510,
      "problem_name": "Janeway’s Journey",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1173,
      "problem_letter": "K",
      "problem_id": 9511,
      "problem_name": "Klingon Warfare",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1173,
      "problem_letter": "L",
      "problem_id": 9512,
      "problem_name": "Languages",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1173,
      "problem_letter": "M",
      "problem_id": 9513,
      "problem_name": "Mass Production",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "A",
      "problem_id": 9525,
      "problem_name": "룩 배치하기",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "B",
      "problem_id": 9526,
      "problem_name": "꿍글리쉬",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1175,
      "problem_letter": "C",
      "problem_id": 9527,
      "problem_name": "1의 개수 세기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "prefix sum",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "prefix_sum",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "D",
      "problem_id": 9528,
      "problem_name": "Disjoint water supply",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "E",
      "problem_id": 9529,
      "problem_name": "11 (십 일)",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "F",
      "problem_id": 9530,
      "problem_name": "Football",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "G",
      "problem_id": 9531,
      "problem_name": "Go up the Ultras",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1175,
      "problem_letter": "H",
      "problem_id": 9532,
      "problem_name": "Hide and seek",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1175,
      "problem_letter": "I",
      "problem_id": 9533,
      "problem_name": "Inverting Huffman",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy"
      ],
      "tag_keys": [
        "data_structures",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "J",
      "problem_id": 9534,
      "problem_name": "Join two kingdoms",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "data structures",
        "depth-first search",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "segment tree",
        "tree",
        "two-pointer"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "dfs",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "segtree",
        "trees",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "PA",
      "problem_id": 9523,
      "problem_name": "Arithmetic with Morse",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "implementation",
        "mathematics",
        "parsing",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "math",
        "parsing",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1175,
      "problem_letter": "PB",
      "problem_id": 9524,
      "problem_name": "Beautiful Yekaterinburg",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "A",
      "problem_id": 9535,
      "problem_name": "Rubik's Rectangle",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc",
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "B",
      "problem_id": 9536,
      "problem_name": "여우는 어떻게 울지?",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "parsing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "C",
      "problem_id": 9537,
      "problem_name": "잘생긴 GCD",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "D",
      "problem_id": 9538,
      "problem_name": "Subway",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "graph theory",
        "data structures",
        "string",
        "graph traversal",
        "breadth-first search",
        "set / map by hashing",
        "parsing",
        "sparse table"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "data_structures",
        "string",
        "graph_traversal",
        "bfs",
        "hash_set",
        "parsing",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "E",
      "problem_id": 9539,
      "problem_name": "Escape",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "data structures",
        "greedy",
        "tree",
        "set / map",
        "disjoint set",
        "priority queue",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "trees",
        "set",
        "disjoint_set",
        "priority_queue",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "F",
      "problem_id": 9540,
      "problem_name": "Draughts",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "G",
      "problem_id": 9541,
      "problem_name": "역사 시간",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "binary search",
        "data structures",
        "greedy",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "greedy",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "H",
      "problem_id": 9542,
      "problem_name": "Chain & Co.",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "I",
      "problem_id": 9543,
      "problem_name": "Crane",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "J",
      "problem_id": 9544,
      "problem_name": "Captain Obvious and the Rabbit-Man",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "K",
      "problem_id": 9545,
      "problem_name": "폭탄 받아라",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "constructive",
        "depth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "constructive",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1176,
      "problem_letter": "L",
      "problem_id": 9546,
      "problem_name": "3000번 버스",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "A",
      "problem_id": 9631,
      "problem_name": "The Alphabet Sticker",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "string",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "string",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "B",
      "problem_id": 9632,
      "problem_name": "Swyper Keyboard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1177,
      "problem_letter": "C",
      "problem_id": 9633,
      "problem_name": "Increasing Shortest Path",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "offline queries"
      ],
      "tag_keys": [
        "dp",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "D",
      "problem_id": 9634,
      "problem_name": "Cup of Cowards",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1177,
      "problem_letter": "E",
      "problem_id": 9635,
      "problem_name": "Balloons Colors",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "F",
      "problem_id": 9636,
      "problem_name": "NASSA’s Robot",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "G",
      "problem_id": 9637,
      "problem_name": "The Stones Game",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "game theory"
      ],
      "tag_keys": [
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "H",
      "problem_id": 9638,
      "problem_name": "Super Ants",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1177,
      "problem_letter": "I",
      "problem_id": 9639,
      "problem_name": "Omar Loves Candies",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "J",
      "problem_id": 9640,
      "problem_name": "Modified LCS",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "K",
      "problem_id": 9641,
      "problem_name": "Mario Kart",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1177,
      "problem_letter": "L",
      "problem_id": 9642,
      "problem_name": "Omar’s Bug",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "A",
      "problem_id": 9547,
      "problem_name": "대통령 선거",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "B",
      "problem_id": 9548,
      "problem_name": "무제",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "string",
        "tree",
        "splay tree",
        "rope"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "splay_tree",
        "rope"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        },
        {
          "key": "rope",
          "name": "rope",
          "boj_tag_id": 159
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "C",
      "problem_id": 9549,
      "problem_name": "암호화된 비밀번호",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "sliding window"
      ],
      "tag_keys": [
        "string",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "D",
      "problem_id": 9550,
      "problem_name": "아이들은 사탕을 좋아해",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "E",
      "problem_id": 9551,
      "problem_name": "바꾸기 놀이",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1178,
      "problem_letter": "F",
      "problem_id": 9552,
      "problem_name": "잠금 패턴",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "G",
      "problem_id": 9553,
      "problem_name": "양궁",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "H",
      "problem_id": 9554,
      "problem_name": "섬 연결하기",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1178,
      "problem_letter": "I",
      "problem_id": 9555,
      "problem_name": "대회 장소 준비",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1178,
      "problem_letter": "J",
      "problem_id": 9556,
      "problem_name": "수학 숙제",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "exponentiation by squaring",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1179,
      "problem_letter": "A",
      "problem_id": 9557,
      "problem_name": "Arabic and English",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1179,
      "problem_letter": "B",
      "problem_id": 9558,
      "problem_name": "Between the Mountains",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1179,
      "problem_letter": "C",
      "problem_id": 9559,
      "problem_name": "Circleland",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1179,
      "problem_letter": "D",
      "problem_id": 9560,
      "problem_name": "Dice on a Board",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1179,
      "problem_letter": "E",
      "problem_id": 9561,
      "problem_name": "Error",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1179,
      "problem_letter": "F",
      "problem_id": 9562,
      "problem_name": "Fence",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1179,
      "problem_letter": "G",
      "problem_id": 9563,
      "problem_name": "Go",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1179,
      "problem_letter": "H",
      "problem_id": 9564,
      "problem_name": "Homework",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1179,
      "problem_letter": "I",
      "problem_id": 9565,
      "problem_name": "Identify the Number",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1179,
      "problem_letter": "J",
      "problem_id": 9566,
      "problem_name": "Joy of the Cylinder Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1183,
      "problem_letter": "A",
      "problem_id": 9579,
      "problem_name": "ASCII Puzzle",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "B",
      "problem_id": 9580,
      "problem_name": "Bonus Cards",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "C",
      "problem_id": 9581,
      "problem_name": "Cactus Automorphisms",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "cactus",
        "graph theory",
        "hashing",
        "strongly connected component",
        "tree",
        "tree isomorphism"
      ],
      "tag_keys": [
        "cactus",
        "graphs",
        "hashing",
        "scc",
        "trees",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "D",
      "problem_id": 9582,
      "problem_name": "Dictionary",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "directed minimum spanning tree",
        "graph theory"
      ],
      "tag_keys": [
        "directed_mst",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "directed_mst",
          "name": "directed minimum spanning tree",
          "boj_tag_id": 23
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "E",
      "problem_id": 9583,
      "problem_name": "Easy Geometry",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "geometry",
        "parametric search",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "parametric_search",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "F",
      "problem_id": 9584,
      "problem_name": "Fraud Busters",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "G",
      "problem_id": 9585,
      "problem_name": "Green Energy",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "H",
      "problem_id": 9586,
      "problem_name": "Hack Protection",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "binary search",
        "data structures",
        "set / map by hashing",
        "prefix sum",
        "set / map"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "hash_set",
        "prefix_sum",
        "set"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "I",
      "problem_id": 10873,
      "problem_name": "Interactive Interception",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "heuristics"
      ],
      "tag_keys": [
        "binary_search",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "J",
      "problem_id": 9587,
      "problem_name": "Join the Conversation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "data structures",
        "string",
        "binary search",
        "set / map",
        "set / map by hashing",
        "parsing",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "data_structures",
        "string",
        "binary_search",
        "set",
        "hash_set",
        "parsing",
        "dag"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 1183,
      "problem_letter": "K",
      "problem_id": 9588,
      "problem_name": "Kabaleo Lite",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "A",
      "problem_id": 9589,
      "problem_name": "Mixing Colours",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "B",
      "problem_id": 9590,
      "problem_name": "It Can Be Arranged",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "C",
      "problem_id": 9591,
      "problem_name": "Shopping Malls",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "D",
      "problem_id": 9592,
      "problem_name": "Decoding the Hallway",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "recursion",
        "string"
      ],
      "tag_keys": [
        "recursion",
        "string"
      ],
      "tag_details": [
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "E",
      "problem_id": 9593,
      "problem_name": "Joe is learning to speak",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "hashing",
        "set / map by hashing",
        "implementation",
        "parsing",
        "string",
        "tree",
        "trie",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hashing",
        "hash_set",
        "implementation",
        "parsing",
        "string",
        "trees",
        "trie",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "F",
      "problem_id": 9594,
      "problem_name": "Odd and Even Zeroes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "divide and conquer"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "G",
      "problem_id": 9595,
      "problem_name": "VivoParc",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "H",
      "problem_id": 9596,
      "problem_name": "바이너리 트리",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "I",
      "problem_id": 9597,
      "problem_name": "Trending Topic",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "prefix sum",
        "set / map by trees",
        "parsing",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "prefix_sum",
        "tree_set",
        "parsing",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1184,
      "problem_letter": "J",
      "problem_id": 9598,
      "problem_name": "Cleaning the Hallway",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "calculus",
        "case work",
        "geometry",
        "green's theorem",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "case_work",
        "geometry",
        "green",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "green",
          "name": "green's theorem",
          "boj_tag_id": 183
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "A",
      "problem_id": 9599,
      "problem_name": "Equal Sum Sets",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "backtracking"
      ],
      "tag_keys": [
        "dp",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "B",
      "problem_id": 9600,
      "problem_name": "The Last Ant",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "C",
      "problem_id": 9601,
      "problem_name": "Count the Regions",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "value / coordinate compression",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "coordinate_compression",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "D",
      "problem_id": 9602,
      "problem_name": "Clock Hands",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1185,
      "problem_letter": "E",
      "problem_id": 9603,
      "problem_name": "Dragon’s Cruller",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1185,
      "problem_letter": "F",
      "problem_id": 9604,
      "problem_name": "Directional Resemblance",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "G",
      "problem_id": 9605,
      "problem_name": "Longest Chain",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "data structures",
        "dynamic programming",
        "longest increasing sequence problem",
        "parametric search",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "dp",
        "lis",
        "parametric_search",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "H",
      "problem_id": 9606,
      "problem_name": "Don’t Burst the Balloon",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1185,
      "problem_letter": "I",
      "problem_id": 9607,
      "problem_name": "Hidden Tree",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1185,
      "problem_letter": "J",
      "problem_id": 9608,
      "problem_name": "C(O|W|A*RD*|S)* CROSSWORD Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1186,
      "problem_letter": "A",
      "problem_id": 9614,
      "problem_name": "잠금 패턴과 스패닝 트리",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "B",
      "problem_id": 9615,
      "problem_name": "Teaching Hazard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1186,
      "problem_letter": "C",
      "problem_id": 9616,
      "problem_name": "홀수 정사각형",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "D",
      "problem_id": 9617,
      "problem_name": "SSD",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "case work"
      ],
      "tag_keys": [
        "graphs",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "E",
      "problem_id": 9618,
      "problem_name": "Airport Sort",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "F",
      "problem_id": 9619,
      "problem_name": "박스",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1186,
      "problem_letter": "G",
      "problem_id": 9620,
      "problem_name": "Meeting Room Arrangement",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "H",
      "problem_id": 9621,
      "problem_name": "팰린드롬 여행",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "graph theory",
        "probability theory",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "probability",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "I",
      "problem_id": 9622,
      "problem_name": "Cabin Baggage",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "J",
      "problem_id": 9623,
      "problem_name": "부분 수열의 길이",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "prefix sum"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "K",
      "problem_id": 9624,
      "problem_name": "Safari Park",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1186,
      "problem_letter": "PA",
      "problem_id": 9609,
      "problem_name": "PSU Campuses",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "PB",
      "problem_id": 9610,
      "problem_name": "사분면",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "PC",
      "problem_id": 9611,
      "problem_name": "Vicinity",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "bruteforcing",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "PD",
      "problem_id": 9612,
      "problem_name": "Maximum Word Frequency",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1186,
      "problem_letter": "PE",
      "problem_id": 9613,
      "problem_name": "GCD 합",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "A",
      "problem_id": 9643,
      "problem_name": "Absurdistan Roads",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "greedy",
        "constructive",
        "shortest path",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "constructive",
        "shortest_path",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "B",
      "problem_id": 9644,
      "problem_name": "Battle for Silver",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "planar graph"
      ],
      "tag_keys": [
        "graphs",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "C",
      "problem_id": 9645,
      "problem_name": "Card Trick",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "D",
      "problem_id": 9646,
      "problem_name": "다이어그램과 태블로",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "E",
      "problem_id": 9647,
      "problem_name": "Exponential Towers",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "number theory",
        "case work",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "case_work",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "F",
      "problem_id": 9648,
      "problem_name": "First Date",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "case work",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "G",
      "problem_id": 9649,
      "problem_name": "Grachten",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "H",
      "problem_id": 9650,
      "problem_name": "Highway of the Future",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1188,
      "problem_letter": "I",
      "problem_id": 9651,
      "problem_name": "Infix to Prefix",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1188,
      "problem_letter": "J",
      "problem_id": 9652,
      "problem_name": "Jingle Balls",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "dynamic programming",
        "dynamic programming on trees",
        "parsing",
        "stack",
        "string",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "dp_tree",
        "parsing",
        "stack",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "A",
      "problem_id": 9670,
      "problem_name": "Movie",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "B",
      "problem_id": 9671,
      "problem_name": "SMS Poll",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1190,
      "problem_letter": "C",
      "problem_id": 9672,
      "problem_name": "Traitor",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "D",
      "problem_id": 9673,
      "problem_name": "Intelligent Traffic Surveillance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1190,
      "problem_letter": "E",
      "problem_id": 9674,
      "problem_name": "BitTorrent",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "F",
      "problem_id": 9675,
      "problem_name": "2D-Solar System",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1190,
      "problem_letter": "G",
      "problem_id": 9676,
      "problem_name": "Bowling Ball",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "physics",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "physics",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "H",
      "problem_id": 9677,
      "problem_name": "LED에 전원 같은 걸 끼얹기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bellman–ford",
        "data structures",
        "disjoint set",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bellman_ford",
        "data_structures",
        "disjoint_set",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "I",
      "problem_id": 9678,
      "problem_name": "Mixed Flight Plans",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1190,
      "problem_letter": "J",
      "problem_id": 9679,
      "problem_name": "Sweeping Robot",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1190,
      "problem_letter": "K",
      "problem_id": 9680,
      "problem_name": "Wedding Hall",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "binary search",
        "data structures",
        "segment tree with lazy propagation",
        "parametric search",
        "segment tree",
        "sweeping",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "lazyprop",
        "parametric_search",
        "segtree",
        "sweeping",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1192,
      "problem_letter": "A",
      "problem_id": 9682,
      "problem_name": "The Motorway",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "ternary search"
      ],
      "tag_keys": [
        "binary_search",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1192,
      "problem_letter": "B",
      "problem_id": 9683,
      "problem_name": "Bytehattan",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1192,
      "problem_letter": "C",
      "problem_id": 9684,
      "problem_name": "The Carpenter",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1192,
      "problem_letter": "D",
      "problem_id": 9685,
      "problem_name": "Demonstrations",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sweeping",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "sweeping",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1192,
      "problem_letter": "E",
      "problem_id": 9686,
      "problem_name": "The Exam",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1192,
      "problem_letter": "F",
      "problem_id": 9687,
      "problem_name": "Speed Cameras",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1192,
      "problem_letter": "G",
      "problem_id": 9688,
      "problem_name": "Marbles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1192,
      "problem_letter": "H",
      "problem_id": 9689,
      "problem_name": "The Hero",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1192,
      "problem_letter": "I",
      "problem_id": 9690,
      "problem_name": "Genetic Engineering",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1192,
      "problem_letter": "J",
      "problem_id": 9691,
      "problem_name": "Janosik",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1192,
      "problem_letter": "K",
      "problem_id": 9692,
      "problem_name": "Blankets",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "implementation",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1192,
      "problem_letter": "P",
      "problem_id": 9681,
      "problem_name": "Suitcases",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "A",
      "problem_id": 9693,
      "problem_name": "시파르",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "B",
      "problem_id": 9694,
      "problem_name": "무엇을 아느냐가 아니라 누구를 아느냐가 문제다",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "C",
      "problem_id": 9695,
      "problem_name": "Filter And Perform",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1193,
      "problem_letter": "D",
      "problem_id": 9696,
      "problem_name": "Show Me The Operators",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "string",
        "arithmetic",
        "case work",
        "parsing",
        "deque"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "string",
        "arithmetic",
        "case_work",
        "parsing",
        "deque"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "E",
      "problem_id": 9697,
      "problem_name": "THE SULTAN'S CHAPATI",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "constructive",
        "greedy",
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "constructive",
        "greedy",
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "F",
      "problem_id": 9698,
      "problem_name": "SAHUR & IMSA’",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "G",
      "problem_id": 9699,
      "problem_name": "RICE SACK",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "H",
      "problem_id": 9700,
      "problem_name": "RAINFOREST CANOPY",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "I",
      "problem_id": 9701,
      "problem_name": "EVEN POSITIVE CLOSURE SUM",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1193,
      "problem_letter": "J",
      "problem_id": 9702,
      "problem_name": "LIS",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "lis"
      ],
      "tag_details": [
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "A",
      "problem_id": 9703,
      "problem_name": "Anti-Arithmetic Permutation",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "B",
      "problem_id": 9704,
      "problem_name": "Longest Balanced Sub-Sequence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1194,
      "problem_letter": "C",
      "problem_id": 9705,
      "problem_name": "CHARITY BOOTH RENTAL",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "D",
      "problem_id": 9706,
      "problem_name": "FIND THE MARBLES",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "geometry",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "E",
      "problem_id": 9707,
      "problem_name": "Supercap Travels",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1194,
      "problem_letter": "F",
      "problem_id": 9708,
      "problem_name": "Charles Babbage's Difference Engine",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "G",
      "problem_id": 9709,
      "problem_name": "Lights",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1194,
      "problem_letter": "H",
      "problem_id": 9710,
      "problem_name": "Rooks",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "I",
      "problem_id": 9711,
      "problem_name": "피보나치",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1194,
      "problem_letter": "J",
      "problem_id": 9712,
      "problem_name": "Prefix Free Subsets",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "string",
        "tree",
        "combinatorics",
        "trie"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "string",
        "trees",
        "combinatorics",
        "trie"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "A",
      "problem_id": 9713,
      "problem_name": "Sum of Odd Sequence",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "B",
      "problem_id": 9714,
      "problem_name": "Spiral",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "case work",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "C",
      "problem_id": 9715,
      "problem_name": "Surface Area",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "D",
      "problem_id": 9716,
      "problem_name": "Table",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "sorting",
        "ad-hoc",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "ad_hoc",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "E",
      "problem_id": 9717,
      "problem_name": "Huge Knight",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "breadth-first search",
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "ad_hoc",
        "bfs",
        "data_structures",
        "graphs",
        "graph_traversal",
        "hash_set",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "F",
      "problem_id": 9718,
      "problem_name": "Matrix Transformation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "greedy",
        "ad-hoc",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "ad_hoc",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "G",
      "problem_id": 9719,
      "problem_name": "Bi‐coloring",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "H",
      "problem_id": 9720,
      "problem_name": "Sorting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "greedy",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1195,
      "problem_letter": "I",
      "problem_id": 9721,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1195,
      "problem_letter": "J",
      "problem_id": 9722,
      "problem_name": "Qurban 2011",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1196,
      "problem_letter": "A",
      "problem_id": 9723,
      "problem_name": "Right Triangle",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "B",
      "problem_id": 9724,
      "problem_name": "Perfect Cube",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "C",
      "problem_id": 9725,
      "problem_name": "Mod-3 Permutation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "D",
      "problem_id": 9726,
      "problem_name": "Negative Binary",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "E",
      "problem_id": 9727,
      "problem_name": "Mini Sudoku X",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "F",
      "problem_id": 9728,
      "problem_name": "Pair Sum",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "G",
      "problem_id": 9729,
      "problem_name": "XOR",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1196,
      "problem_letter": "H",
      "problem_id": 9730,
      "problem_name": "Sequence Merging",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "I",
      "problem_id": 9731,
      "problem_name": "Recurrence",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1196,
      "problem_letter": "J",
      "problem_id": 9732,
      "problem_name": "Division Game",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "game theory",
        "primality test",
        "sieve of eratosthenes",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "game_theory",
        "primality_test",
        "sieve",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "A",
      "problem_id": 9733,
      "problem_name": "꿀벌",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "B",
      "problem_id": 9734,
      "problem_name": "순환 소수",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "parsing",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "parsing",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "C",
      "problem_id": 9735,
      "problem_name": "삼차 방정식 풀기",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "bruteforcing",
        "numerical analysis"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "numerical_analysis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "numerical_analysis",
          "name": "numerical analysis",
          "boj_tag_id": 122
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "D",
      "problem_id": 9736,
      "problem_name": "정이면체군",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "E",
      "problem_id": 9737,
      "problem_name": "Area Between Outer Hull and Inner Hull",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "convex hull",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "F",
      "problem_id": 9738,
      "problem_name": "Sharkovski’s Ordering",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "G",
      "problem_id": 9739,
      "problem_name": "M M Detour",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1197,
      "problem_letter": "H",
      "problem_id": 9740,
      "problem_name": "More Fun in Bicol",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1197,
      "problem_letter": "I",
      "problem_id": 9741,
      "problem_name": "Interior Lattice Points",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "area of a polygon",
        "pick's theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "polygon_area",
        "pick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "pick",
          "name": "pick's theorem",
          "boj_tag_id": 187
        }
      ]
    },
    {
      "contest_id": 1197,
      "problem_letter": "J",
      "problem_id": 9742,
      "problem_name": "순열",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1198,
      "problem_letter": "A",
      "problem_id": 9743,
      "problem_name": "방정식 부수기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1198,
      "problem_letter": "B",
      "problem_id": 9744,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "C",
      "problem_id": 9745,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "D",
      "problem_id": 9746,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "E",
      "problem_id": 9747,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "F",
      "problem_id": 9748,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "G",
      "problem_id": 9749,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "H",
      "problem_id": 9750,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "I",
      "problem_id": 9751,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1198,
      "problem_letter": "J",
      "problem_id": 9752,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1199,
      "problem_letter": "A",
      "problem_id": 9753,
      "problem_name": "짝 곱",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1199,
      "problem_letter": "B",
      "problem_id": 9754,
      "problem_name": "ระบายสีต้นไม้ (Tree Coloring)",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "tree",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "trees",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1199,
      "problem_letter": "C",
      "problem_id": 9755,
      "problem_name": "Booster",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1199,
      "problem_letter": "D",
      "problem_id": 9756,
      "problem_name": "Goldbach (Extension of Goldbach’s Conjecture)",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1199,
      "problem_letter": "E",
      "problem_id": 9757,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1199,
      "problem_letter": "F",
      "problem_id": 9758,
      "problem_name": "Vacuum World",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1199,
      "problem_letter": "G",
      "problem_id": 9759,
      "problem_name": "Profits",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1199,
      "problem_letter": "H",
      "problem_id": 9760,
      "problem_name": "Search Suggestion",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree",
        "merge sort tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree",
        "merge_sort_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        }
      ]
    },
    {
      "contest_id": 1199,
      "problem_letter": "I",
      "problem_id": 9761,
      "problem_name": "2D Max Filter",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1200,
      "problem_letter": "A",
      "problem_id": 9762,
      "problem_name": "โรงงานลูกกวาด (Candy Factory)",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "tree",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "trees",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1200,
      "problem_letter": "B",
      "problem_id": 9763,
      "problem_name": "마을의 친밀도",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1200,
      "problem_letter": "C",
      "problem_id": 9764,
      "problem_name": "서로 다른 자연수의 합",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1200,
      "problem_letter": "D",
      "problem_id": 9765,
      "problem_name": "여섯 방정식",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1200,
      "problem_letter": "E",
      "problem_id": 9766,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1200,
      "problem_letter": "F",
      "problem_id": 9767,
      "problem_name": "Joint Venture",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1200,
      "problem_letter": "G",
      "problem_id": 9768,
      "problem_name": "Straight Flush",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1200,
      "problem_letter": "H",
      "problem_id": 9769,
      "problem_name": "ถุงพลาสติก (Plastic)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1201,
      "problem_letter": "A",
      "problem_id": 9774,
      "problem_name": "Unlock My Safe",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "B",
      "problem_id": 9775,
      "problem_name": "Two Mysterious Alphabets from a Tree",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "C",
      "problem_id": 9776,
      "problem_name": "Max Volume",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "D",
      "problem_id": 9777,
      "problem_name": "Birthday Statistics",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "E",
      "problem_id": 9778,
      "problem_name": "Nonogram",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "F",
      "problem_id": 9779,
      "problem_name": "Jane’s First Words",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "G",
      "problem_id": 9780,
      "problem_name": "Range Sum Query",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "H",
      "problem_id": 9764,
      "problem_name": "서로 다른 자연수의 합",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "PA",
      "problem_id": 9770,
      "problem_name": "GCD",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "PB",
      "problem_id": 9771,
      "problem_name": "Word Searching",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "PC",
      "problem_id": 9772,
      "problem_name": "Quadrants",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1201,
      "problem_letter": "PD",
      "problem_id": 9773,
      "problem_name": "ID Key",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "A",
      "problem_id": 9782,
      "problem_name": "Median",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "B",
      "problem_id": 9783,
      "problem_name": "Easy Encryption",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "C",
      "problem_id": 9784,
      "problem_name": "Boiled Eggs",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "D",
      "problem_id": 9785,
      "problem_name": "Damage Over Time",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "E",
      "problem_id": 9786,
      "problem_name": "Common Fraction",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "F",
      "problem_id": 9787,
      "problem_name": "Olympic Games Ranking",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "G",
      "problem_id": 9788,
      "problem_name": "Cut The List",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1202,
      "problem_letter": "H",
      "problem_id": 9789,
      "problem_name": "Friendship Graph",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1203,
      "problem_letter": "A",
      "problem_id": 9790,
      "problem_name": "Elephant Show",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1203,
      "problem_letter": "B",
      "problem_id": 9791,
      "problem_name": "Encoding Binary Numbers",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1203,
      "problem_letter": "C",
      "problem_id": 9792,
      "problem_name": "Chorus",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1203,
      "problem_letter": "D",
      "problem_id": 9793,
      "problem_name": "Length and Frequency of Sentences",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1203,
      "problem_letter": "E",
      "problem_id": 9794,
      "problem_name": "Another Word Sorting",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "sorting",
        "string"
      ],
      "tag_keys": [
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1203,
      "problem_letter": "F",
      "problem_id": 9795,
      "problem_name": "Form Guide",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1203,
      "problem_letter": "G",
      "problem_id": 9796,
      "problem_name": "Cracking Tree Codes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1203,
      "problem_letter": "H",
      "problem_id": 9797,
      "problem_name": "uHunt",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "A",
      "problem_id": 9798,
      "problem_name": "Cartesian Tree",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "set / map",
        "stack",
        "cartesian tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "set",
        "stack",
        "cartesian_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "cartesian_tree",
          "name": "cartesian tree",
          "boj_tag_id": 206
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "B",
      "problem_id": 9799,
      "problem_name": "Strange Graph",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "ad-hoc",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "C",
      "problem_id": 9800,
      "problem_name": "Patience",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking",
        "graph theory",
        "graph traversal",
        "precomputation"
      ],
      "tag_keys": [
        "backtracking",
        "graphs",
        "graph_traversal",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "D",
      "problem_id": 9801,
      "problem_name": "Commuter train",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1204,
      "problem_letter": "E",
      "problem_id": 9802,
      "problem_name": "Self-Replicating Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1204,
      "problem_letter": "F",
      "problem_id": 9803,
      "problem_name": "Magic Multiplying Machine",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "G",
      "problem_id": 9804,
      "problem_name": "Intuitionistic Logic",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "graph theory",
        "string",
        "bruteforcing",
        "parsing",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "string",
        "bruteforcing",
        "parsing",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "H",
      "problem_id": 9805,
      "problem_name": "Pyramids",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "arbitrary precision / big integers",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "arbitrary_precision",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1204,
      "problem_letter": "I",
      "problem_id": 9806,
      "problem_name": "The King",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1205,
      "problem_letter": "A",
      "problem_id": 9807,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1205,
      "problem_letter": "B",
      "problem_id": 9808,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1205,
      "problem_letter": "C",
      "problem_id": 9809,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1205,
      "problem_letter": "D",
      "problem_id": 9810,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1205,
      "problem_letter": "E",
      "problem_id": 9811,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1205,
      "problem_letter": "F",
      "problem_id": 9812,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1206,
      "problem_letter": "A",
      "problem_id": 9813,
      "problem_name": "Computing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "B",
      "problem_id": 9814,
      "problem_name": "Coding of Permutations",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "combinatorics",
        "implementation",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "combinatorics",
        "implementation",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "C",
      "problem_id": 9815,
      "problem_name": "Cabric Number Problem",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "D",
      "problem_id": 9816,
      "problem_name": "Number of Locks",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "backtracking",
        "precomputation"
      ],
      "tag_keys": [
        "dp",
        "backtracking",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "E",
      "problem_id": 9817,
      "problem_name": "Necklace of Beads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "combinatorics",
        "burnside's lemma"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "burnside"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "burnside",
          "name": "burnside's lemma",
          "boj_tag_id": 16
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "F",
      "problem_id": 9818,
      "problem_name": "Quantity of White Mice",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "G",
      "problem_id": 9819,
      "problem_name": "Color Change of Go Game Pieces",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "simulation",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "H",
      "problem_id": 9820,
      "problem_name": "Placement of Keys",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "combinatorics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1206,
      "problem_letter": "I",
      "problem_id": 9821,
      "problem_name": "Selecting the Optimal Teaching Fiends",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1214,
      "problem_letter": "A",
      "problem_id": 9854,
      "problem_name": "Battleships",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1214,
      "problem_letter": "B",
      "problem_id": 9855,
      "problem_name": "Cuckoo for Hashing",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1214,
      "problem_letter": "C",
      "problem_id": 9856,
      "problem_name": "Playing Fair with Cryptography",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1214,
      "problem_letter": "D",
      "problem_id": 9857,
      "problem_name": "Rent-A-Pixel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1214,
      "problem_letter": "E",
      "problem_id": 9858,
      "problem_name": "Stampede!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1214,
      "problem_letter": "F",
      "problem_id": 9859,
      "problem_name": "Super Phyllis",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "graphs",
        "graph_traversal",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1214,
      "problem_letter": "G",
      "problem_id": 9860,
      "problem_name": "Tree Lighting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1214,
      "problem_letter": "H",
      "problem_id": 9861,
      "problem_name": "The Urge to Merge",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1214,
      "problem_letter": "I",
      "problem_id": 9862,
      "problem_name": "Xenospeak",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1214,
      "problem_letter": "PA",
      "problem_id": 9863,
      "problem_name": "Calling All Programmers",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1214,
      "problem_letter": "PB",
      "problem_id": 9864,
      "problem_name": "Rocky",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1214,
      "problem_letter": "PC",
      "problem_id": 9865,
      "problem_name": "Undercut",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "A",
      "problem_id": 9939,
      "problem_name": "Bowling Score Assistant",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1231,
      "problem_letter": "B",
      "problem_id": 9940,
      "problem_name": "Spectrum",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "C",
      "problem_id": 9941,
      "problem_name": "One Move from Towers of Hanoi",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "recursion"
      ],
      "tag_keys": [
        "recursion"
      ],
      "tag_details": [
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "D",
      "problem_id": 9942,
      "problem_name": "하노이의 네 탑",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "E",
      "problem_id": 9943,
      "problem_name": "Light Switches",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking",
        "primality test",
        "prime factorization",
        "pollard rho",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking",
        "primality_test",
        "prime_factorization",
        "pollard_rho",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "F",
      "problem_id": 9944,
      "problem_name": "NxM 보드 완주하기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "G",
      "problem_id": 9945,
      "problem_name": "Centroid of Point Masses",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1231,
      "problem_letter": "H",
      "problem_id": 9946,
      "problem_name": "단어 퍼즐",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "A",
      "problem_id": 9947,
      "problem_name": "Coin tossing",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "B",
      "problem_id": 9948,
      "problem_name": "Have you had your birthday yet?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "C",
      "problem_id": 9949,
      "problem_name": "Hide those Letters",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "D",
      "problem_id": 9950,
      "problem_name": "Rectangles",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "E",
      "problem_id": 9951,
      "problem_name": "Word Extraction",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "set / map by trees",
        "parsing",
        "regular expression"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set",
        "tree_set",
        "parsing",
        "regex"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "F",
      "problem_id": 9952,
      "problem_name": "Bree's pantry",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "sorting",
        "deque"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "deque"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "G",
      "problem_id": 9953,
      "problem_name": "Paula's search",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "binary search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "H",
      "problem_id": 9954,
      "problem_name": "Cedric's Cypher",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "I",
      "problem_id": 9955,
      "problem_name": "Recycling",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "J",
      "problem_id": 9956,
      "problem_name": "Reversing Words",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "K",
      "problem_id": 9957,
      "problem_name": "Word Crosses",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1232,
      "problem_letter": "L",
      "problem_id": 9958,
      "problem_name": "All Squares",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "M",
      "problem_id": 9959,
      "problem_name": "Dominosa",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "N",
      "problem_id": 9960,
      "problem_name": "Digit Sums",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1232,
      "problem_letter": "O",
      "problem_id": 9961,
      "problem_name": "Stamps",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1232,
      "problem_letter": "P",
      "problem_id": 9962,
      "problem_name": "Assimilation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "1",
      "problem_id": 9963,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "2",
      "problem_id": 9964,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "3",
      "problem_id": 9965,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "4",
      "problem_id": 9966,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "5",
      "problem_id": 9967,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "6",
      "problem_id": 9968,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "7",
      "problem_id": 9969,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1233,
      "problem_letter": "8",
      "problem_id": 9970,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1234,
      "problem_letter": "1",
      "problem_id": 9971,
      "problem_name": "The Hardest Problem Ever",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1234,
      "problem_letter": "2",
      "problem_id": 9972,
      "problem_name": "Rubik’s Cube Solver",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1234,
      "problem_letter": "3",
      "problem_id": 9973,
      "problem_name": "Polar Explorer",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1234,
      "problem_letter": "4",
      "problem_id": 9974,
      "problem_name": "Door Man",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "case work",
        "eulerian path / circuit",
        "graph theory",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "eulerian_path",
        "graphs",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1234,
      "problem_letter": "5",
      "problem_id": 9975,
      "problem_name": "The Umbrella Problem: 2054",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1234,
      "problem_letter": "6",
      "problem_id": 9976,
      "problem_name": "Blue Gene, Jr.",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "recursion",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "recursion",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1234,
      "problem_letter": "7",
      "problem_id": 9977,
      "problem_name": "Byte Me!",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1234,
      "problem_letter": "8",
      "problem_id": 9978,
      "problem_name": "World’s Worst Bus Schedule",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1235,
      "problem_letter": "1",
      "problem_id": 9979,
      "problem_name": "Does This Make Me Look Fat?",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1235,
      "problem_letter": "2",
      "problem_id": 9980,
      "problem_name": "Manifest Destiny",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1235,
      "problem_letter": "3",
      "problem_id": 9981,
      "problem_name": "Treasure Hunters",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1235,
      "problem_letter": "4",
      "problem_id": 9982,
      "problem_name": "Frogger's For Dinner",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1235,
      "problem_letter": "5",
      "problem_id": 9983,
      "problem_name": "더 푸르게",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking",
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1235,
      "problem_letter": "6",
      "problem_id": 9984,
      "problem_name": "Get Out 'Da Way!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1235,
      "problem_letter": "7",
      "problem_id": 9985,
      "problem_name": "Missing Piece 2001",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "meet in the middle",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hash_set",
        "mitm",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1235,
      "problem_letter": "8",
      "problem_id": 9986,
      "problem_name": "Asteroids!",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "A",
      "problem_id": 10050,
      "problem_name": "블록",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "ad-hoc",
        "constructive",
        "recursion"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "B",
      "problem_id": 10051,
      "problem_name": "Buffed Buffet",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "binary search",
        "priority queue",
        "parametric search",
        "knapsack",
        "calculus",
        "convex hull trick"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "binary_search",
        "priority_queue",
        "parametric_search",
        "knapsack",
        "calculus",
        "cht"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "C",
      "problem_id": 10052,
      "problem_name": "Crane Balancing",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "geometry",
        "case work",
        "area of a polygon",
        "physics"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "case_work",
        "polygon_area",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "D",
      "problem_id": 10053,
      "problem_name": "필승 전략",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "breadth-first search",
        "dynamic programming",
        "game theory",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "dp",
        "game_theory",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "E",
      "problem_id": 10054,
      "problem_name": "Maze Reduction",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "hashing"
      ],
      "tag_keys": [
        "hashing"
      ],
      "tag_details": [
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "F",
      "problem_id": 10055,
      "problem_name": "Messenger",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "binary search",
        "geometry",
        "greedy",
        "parametric search",
        "two-pointer"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "greedy",
        "parametric_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "G",
      "problem_id": 10056,
      "problem_name": "Metal Processing Plant",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "2-sat",
        "binary search",
        "data structures",
        "disjoint set",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "binary_search",
        "data_structures",
        "disjoint_set",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "H",
      "problem_id": 10057,
      "problem_name": "Pachinko",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "I",
      "problem_id": 10058,
      "problem_name": "센서 네트워크",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "geometry",
        "bipartite matching"
      ],
      "tag_keys": [
        "geometry",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "J",
      "problem_id": 10059,
      "problem_name": "Skiing",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "dynamic programming",
        "traceback",
        "calculus",
        "physics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "traceback",
        "calculus",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "K",
      "problem_id": 10060,
      "problem_name": "감시 카메라",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "greedy",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 1250,
      "problem_letter": "L",
      "problem_id": 10061,
      "problem_name": "Wire Crossing",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "0-1 bfs",
        "arbitrary precision / big integers",
        "breadth-first search",
        "data structures",
        "depth-first search",
        "dijkstra's",
        "disjoint set",
        "dual graph",
        "geometry",
        "graph theory",
        "graph traversal",
        "line segment intersection check",
        "planar graph",
        "point in non-convex polygon check",
        "area of a polygon",
        "shortest path"
      ],
      "tag_keys": [
        "0_1_bfs",
        "arbitrary_precision",
        "bfs",
        "data_structures",
        "dfs",
        "dijkstra",
        "disjoint_set",
        "dual_graph",
        "geometry",
        "graphs",
        "graph_traversal",
        "line_intersection",
        "planar_graph",
        "point_in_non_convex_polygon",
        "polygon_area",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "dual_graph",
          "name": "dual graph",
          "boj_tag_id": 181
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "A",
      "problem_id": 10233,
      "problem_name": "Tax Rate Changed",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "B",
      "problem_id": 10234,
      "problem_name": "Chain Disappearance Puzzle",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "C",
      "problem_id": 10235,
      "problem_name": "Vampire",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "D",
      "problem_id": 10236,
      "problem_name": "Encryption System",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "sorting",
        "backtracking"
      ],
      "tag_keys": [
        "sorting",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "E",
      "problem_id": 10237,
      "problem_name": "Bridge Removal",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "F",
      "problem_id": 10238,
      "problem_name": "A Die Maker",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bruteforcing",
        "greedy"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1281,
      "problem_letter": "G",
      "problem_id": 10239,
      "problem_name": "Don't Cross the Circles!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1282,
      "problem_letter": "A",
      "problem_id": 10240,
      "problem_name": "Banjo",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "B",
      "problem_id": 10241,
      "problem_name": "Cheats",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1282,
      "problem_letter": "C",
      "problem_id": 10242,
      "problem_name": "Diplomacy",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "ad-hoc",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "ad_hoc",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "D",
      "problem_id": 10243,
      "problem_name": "Fantastic Problem",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "mathematics",
        "number theory",
        "primality test",
        "segment tree",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "data_structures",
        "math",
        "number_theory",
        "primality_test",
        "segtree",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "E",
      "problem_id": 10244,
      "problem_name": "최대공약수들",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "F",
      "problem_id": 10245,
      "problem_name": "Gold Bandits",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "bruteforcing",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "G",
      "problem_id": 10246,
      "problem_name": "부동산 경매",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "H",
      "problem_id": 10247,
      "problem_name": "Reconnaissance",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ternary search"
      ],
      "tag_keys": [
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "I",
      "problem_id": 10248,
      "problem_name": "Super Mario 169",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bitmask",
        "bruteforcing",
        "dynamic programming",
        "dynamic programming using bitfield",
        "geometry",
        "geometry; 3d",
        "implementation",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "dp",
        "dp_bitfield",
        "geometry",
        "geometry_3d",
        "implementation",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1282,
      "problem_letter": "J",
      "problem_id": 10249,
      "problem_name": "Two Knight’s Poem",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "A",
      "problem_id": 10250,
      "problem_name": "ACM 호텔",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "B",
      "problem_id": 10251,
      "problem_name": "운전 면허 시험",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "C",
      "problem_id": 10252,
      "problem_name": "그리드 그래프",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "D",
      "problem_id": 10253,
      "problem_name": "헨리",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "E",
      "problem_id": 10254,
      "problem_name": "고속도로",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "F",
      "problem_id": 10255,
      "problem_name": "교차점",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "case work",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "case_work",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "G",
      "problem_id": 10256,
      "problem_name": "돌연변이",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "string",
        "tree",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "H",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "I",
      "problem_id": 10257,
      "problem_name": "얼룩",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "backtracking"
      ],
      "tag_keys": [
        "dp",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "J",
      "problem_id": 10258,
      "problem_name": "스위치 배열",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "dp",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1283,
      "problem_letter": "K",
      "problem_id": 8879,
      "problem_name": "Surely You Congest",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dijkstra's",
        "maximum flow",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "flow",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "A",
      "problem_id": 10259,
      "problem_name": "Amanda Lounges",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "B",
      "problem_id": 10260,
      "problem_name": "Basin City Surveillance",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "C",
      "problem_id": 10261,
      "problem_name": "Catalan Square",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "combinatorics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "D",
      "problem_id": 10262,
      "problem_name": "주사위 게임",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "E",
      "problem_id": 10263,
      "problem_name": "Opening Ceremony",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "F",
      "problem_id": 10264,
      "problem_name": "Particle Swapping",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "binary search",
        "disjoint set",
        "minimum spanning tree",
        "lowest common ancestor",
        "parallel binary search"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "binary_search",
        "disjoint_set",
        "mst",
        "lca",
        "pbs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "pbs",
          "name": "parallel binary search",
          "boj_tag_id": 54
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "G",
      "problem_id": 10265,
      "problem_name": "MT",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "depth-first search",
        "knapsack",
        "strongly connected component",
        "functional graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "dfs",
        "knapsack",
        "scc",
        "functional_graph"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "H",
      "problem_id": 10266,
      "problem_name": "시계 사진들",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "I",
      "problem_id": 10267,
      "problem_name": "사각형은 몇 개?",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "set / map"
      ],
      "tag_keys": [
        "geometry",
        "set"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "J",
      "problem_id": 10268,
      "problem_name": "Road Work",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "case work"
      ],
      "tag_keys": [
        "dp",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1284,
      "problem_letter": "K",
      "problem_id": 10269,
      "problem_name": "Train Passengers",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "A",
      "problem_id": 10270,
      "problem_name": "Algebraic Teamwork",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "B",
      "problem_id": 10271,
      "problem_name": "Beam me out!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "case work",
        "directed acyclic graph",
        "graph theory",
        "graph traversal",
        "topological sorting"
      ],
      "tag_keys": [
        "bfs",
        "case_work",
        "dag",
        "graphs",
        "graph_traversal",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "C",
      "problem_id": 10272,
      "problem_name": "현상금 사냥꾼 김정은",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "D",
      "problem_id": 10273,
      "problem_name": "고대 동굴 탐사",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "E",
      "problem_id": 10274,
      "problem_name": "Equator",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "F",
      "problem_id": 10275,
      "problem_name": "골드 러시",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "G",
      "problem_id": 10276,
      "problem_name": "Jewelry Exhibition",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "H",
      "problem_id": 10277,
      "problem_name": "JuQueen",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "I",
      "problem_id": 10278,
      "problem_name": "Laser Cutting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "J",
      "problem_id": 10279,
      "problem_name": "부분 수열이 아님",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "string",
        "shortest path"
      ],
      "tag_keys": [
        "dp",
        "string",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1285,
      "problem_letter": "K",
      "problem_id": 10280,
      "problem_name": "Pizza voting",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "A",
      "problem_id": 10281,
      "problem_name": "Choosing Ice Cream",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "B",
      "problem_id": 10282,
      "problem_name": "해킹",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "C",
      "problem_id": 10283,
      "problem_name": "Floor Painting",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "D",
      "problem_id": 10284,
      "problem_name": "Lift Problems",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "E",
      "problem_id": 10285,
      "problem_name": "Pawns",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1286,
      "problem_letter": "F",
      "problem_id": 10286,
      "problem_name": "Runway Planning",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "G",
      "problem_id": 10287,
      "problem_name": "Spy Network",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "directed acyclic graph",
        "dynamic programming",
        "euclidean algorithm",
        "graph theory",
        "mathematics",
        "number theory",
        "strongly connected component",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "dp",
        "euclidean",
        "graphs",
        "math",
        "number_theory",
        "scc",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1286,
      "problem_letter": "H",
      "problem_id": 10288,
      "problem_name": "Talent Selection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1286,
      "problem_letter": "I",
      "problem_id": 10289,
      "problem_name": "Train Station Tunnel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1286,
      "problem_letter": "J",
      "problem_id": 10290,
      "problem_name": "Word Search",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "A",
      "problem_id": 10291,
      "problem_name": "Ribbon",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "B",
      "problem_id": 10292,
      "problem_name": "Man in the Middle",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "articulation points and bridges"
      ],
      "tag_keys": [
        "graphs",
        "articulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "C",
      "problem_id": 10293,
      "problem_name": "Ranks in groups",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set",
        "set / map by trees",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set",
        "tree_set",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "D",
      "problem_id": 10294,
      "problem_name": "Shops",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "E",
      "problem_id": 10295,
      "problem_name": "Hiking",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "F",
      "problem_id": 10296,
      "problem_name": "IceBucketChallenge",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "G",
      "problem_id": 10297,
      "problem_name": "ผู้เฒ่าเต่า",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1287,
      "problem_letter": "H",
      "problem_id": 10298,
      "problem_name": "Tigger",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1288,
      "problem_letter": "A",
      "problem_id": 10299,
      "problem_name": "아미노산",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "B",
      "problem_id": 10300,
      "problem_name": "Goldbach Partition",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "C",
      "problem_id": 10301,
      "problem_name": "Cookie Farm",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "D",
      "problem_id": 10302,
      "problem_name": "การแบ่งพื้นที่แบบบันไดวน",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "E",
      "problem_id": 10303,
      "problem_name": "Headshot",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1288,
      "problem_letter": "F",
      "problem_id": 10304,
      "problem_name": "Golden Khon Kaen",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "G",
      "problem_id": 10305,
      "problem_name": "Maximal Sum",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "H",
      "problem_id": 10306,
      "problem_name": "Radix 32",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "I",
      "problem_id": 10307,
      "problem_name": "Van Gogh",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1288,
      "problem_letter": "J",
      "problem_id": 10308,
      "problem_name": "Two’s Network",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1289,
      "problem_letter": "A",
      "problem_id": 10309,
      "problem_name": "Kolonie",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1289,
      "problem_letter": "B",
      "problem_id": 10310,
      "problem_name": "Most",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1289,
      "problem_letter": "C",
      "problem_id": 10311,
      "problem_name": "Stavitel",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1289,
      "problem_letter": "D",
      "problem_id": 10312,
      "problem_name": "Lodê",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "greedy",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1289,
      "problem_letter": "E",
      "problem_id": 10313,
      "problem_name": "Direct Visibility",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1289,
      "problem_letter": "F",
      "problem_id": 10314,
      "problem_name": "Karel the Robot",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1289,
      "problem_letter": "G",
      "problem_id": 10315,
      "problem_name": "More or Less Accurate",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1289,
      "problem_letter": "H",
      "problem_id": 10316,
      "problem_name": "Self-Intersecting Path",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1289,
      "problem_letter": "I",
      "problem_id": 10317,
      "problem_name": "Lengthy Traveling Salesman",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "tree",
        "centroid"
      ],
      "tag_keys": [
        "trees",
        "centroid"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        }
      ]
    },
    {
      "contest_id": 1289,
      "problem_letter": "J",
      "problem_id": 10318,
      "problem_name": "Picture Validator",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1290,
      "problem_letter": "A",
      "problem_id": 10319,
      "problem_name": "좀비 아포칼립스",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "B",
      "problem_id": 10320,
      "problem_name": "Button Bashing",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "C",
      "problem_id": 10321,
      "problem_name": "요새 건설",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "two-pointer",
        "convex hull",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "two_pointer",
        "convex_hull",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "D",
      "problem_id": 10322,
      "problem_name": "Dropping Directions",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "eulerian path / circuit",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "ad_hoc",
        "eulerian_path",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "E",
      "problem_id": 10323,
      "problem_name": "Excellent Engineers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "F",
      "problem_id": 10324,
      "problem_name": "Floating Formation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "graph traversal",
        "tree",
        "segment tree",
        "breadth-first search",
        "depth-first search",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "graph_traversal",
        "trees",
        "segtree",
        "bfs",
        "dfs",
        "dag"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "G",
      "problem_id": 10325,
      "problem_name": "Growling Gears",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "H",
      "problem_id": 10326,
      "problem_name": "Highway Hassle",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dijkstra's",
        "graph theory",
        "greedy",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "greedy",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "I",
      "problem_id": 10327,
      "problem_name": "피보나치 문제해결전략",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "J",
      "problem_id": 10328,
      "problem_name": "Jury Jeopardy",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "graph theory",
        "simulation",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "simulation",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1290,
      "problem_letter": "K",
      "problem_id": 10329,
      "problem_name": "Key to Knowledge",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bidirectional search",
        "bruteforcing",
        "data structures",
        "graph theory",
        "meet in the middle",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "bidirectional_search",
        "bruteforcing",
        "data_structures",
        "graphs",
        "mitm",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bidirectional_search",
          "name": "bidirectional search",
          "boj_tag_id": 129
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "A",
      "problem_id": 10330,
      "problem_name": "비트 문자열 재배열하기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "B",
      "problem_id": 10331,
      "problem_name": "Miscalculation",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "C",
      "problem_id": 10332,
      "problem_name": "Shopping",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "D",
      "problem_id": 10333,
      "problem_name": "Space Golf",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "calculus",
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "E",
      "problem_id": 10334,
      "problem_name": "Automotive Navigation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "F",
      "problem_id": 10335,
      "problem_name": "There is No Alternative",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "G",
      "problem_id": 10336,
      "problem_name": "Flipping Parentheses",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "H",
      "problem_id": 10337,
      "problem_name": "Cornering at Poles",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "implementation",
        "graph theory",
        "graph traversal",
        "geometry",
        "shortest path",
        "dijkstra's",
        "line segment intersection check"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "graphs",
        "graph_traversal",
        "geometry",
        "shortest_path",
        "dijkstra",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1291,
      "problem_letter": "I",
      "problem_id": 10338,
      "problem_name": "Sweet War",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1291,
      "problem_letter": "J",
      "problem_id": 10339,
      "problem_name": "Exhibition",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1291,
      "problem_letter": "K",
      "problem_id": 10340,
      "problem_name": "L∞ Jumps",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "A",
      "problem_id": 10341,
      "problem_name": "(More) Multiplication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "B",
      "problem_id": 10342,
      "problem_name": "Fun House",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "C",
      "problem_id": 10343,
      "problem_name": "Lexicography",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "string",
        "sorting",
        "combinatorics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "string",
        "sorting",
        "combinatorics",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "D",
      "problem_id": 10344,
      "problem_name": "The Leprechaun Hunt",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "E",
      "problem_id": 10345,
      "problem_name": "Word Cloud",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "F",
      "problem_id": 10346,
      "problem_name": "The Maze Makers",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "bitmask",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bitmask",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "G",
      "problem_id": 10347,
      "problem_name": "Reverse Rot",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "H",
      "problem_id": 10348,
      "problem_name": "Shrine Maintenance",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "number theory",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "number_theory",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1292,
      "problem_letter": "I",
      "problem_id": 10349,
      "problem_name": "Wet Tiles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "A",
      "problem_id": 10350,
      "problem_name": "Banks",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "ad-hoc",
        "prefix sum",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "prefix_sum",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "B",
      "problem_id": 10351,
      "problem_name": "Circle of digits",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "greedy",
        "string",
        "binary search",
        "parametric search",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "binary_search",
        "parametric_search",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "C",
      "problem_id": 10352,
      "problem_name": "UFO",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1293,
      "problem_letter": "D",
      "problem_id": 10353,
      "problem_name": "Frame",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "E",
      "problem_id": 10354,
      "problem_name": "Points",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "F",
      "problem_id": 10355,
      "problem_name": "Most Influential Pumpkin",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "parametric search",
        "square root decomposition"
      ],
      "tag_keys": [
        "parametric_search",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "G",
      "problem_id": 10356,
      "problem_name": "Grammar",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "H",
      "problem_id": 10357,
      "problem_name": "Triples",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1293,
      "problem_letter": "I",
      "problem_id": 10358,
      "problem_name": "Multi-Machine Scheduling of Two Applications",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1293,
      "problem_letter": "J",
      "problem_id": 10359,
      "problem_name": "Strange Antennas",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "value / coordinate compression",
        "sweeping"
      ],
      "tag_keys": [
        "coordinate_compression",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "A",
      "problem_id": 10360,
      "problem_name": "The Mountain of Gold?",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "B",
      "problem_id": 10361,
      "problem_name": "Sequence",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "C",
      "problem_id": 10362,
      "problem_name": "Turtle Graphics",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "D",
      "problem_id": 10363,
      "problem_name": "Circle and Marble",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "depth-first search",
        "dynamic programming",
        "dynamic programming on trees",
        "game theory",
        "graph theory",
        "graph traversal",
        "sprague–grundy theorem",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "dp",
        "dp_tree",
        "game_theory",
        "graphs",
        "graph_traversal",
        "sprague_grundy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "E",
      "problem_id": 10364,
      "problem_name": "Group of Strangers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "F",
      "problem_id": 10365,
      "problem_name": "Pantun Grader",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1294,
      "problem_letter": "G",
      "problem_id": 10366,
      "problem_name": "Hari Merdeka",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "aho-corasick",
        "data structures",
        "dynamic programming",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "data_structures",
        "dp",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "H",
      "problem_id": 10367,
      "problem_name": "Túnel de Rata",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "I",
      "problem_id": 10368,
      "problem_name": "Best Position",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1294,
      "problem_letter": "J",
      "problem_id": 10369,
      "problem_name": "Spokes Wheel",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "K",
      "problem_id": 10370,
      "problem_name": "Ball",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1294,
      "problem_letter": "L",
      "problem_id": 10371,
      "problem_name": "Irrigation Lines",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "A",
      "problem_id": 10372,
      "problem_name": "Alarm Clock",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "B",
      "problem_id": 10373,
      "problem_name": "Buffcraft",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "C",
      "problem_id": 10374,
      "problem_name": "Combinator Expression",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1295,
      "problem_letter": "D",
      "problem_id": 10375,
      "problem_name": "Digits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "bruteforcing",
        "precomputation"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "E",
      "problem_id": 10376,
      "problem_name": "Expression",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "graph theory",
        "string",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dijkstra's",
        "traceback",
        "0-1 bfs",
        "regular expression"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "string",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dijkstra",
        "traceback",
        "0_1_bfs",
        "regex"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "F",
      "problem_id": 10377,
      "problem_name": "Fragmentation",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "G",
      "problem_id": 10378,
      "problem_name": "Grave",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "H",
      "problem_id": 10379,
      "problem_name": "Hiking in the Hills",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "geometry",
        "graph theory",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "graphs",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "I",
      "problem_id": 10380,
      "problem_name": "Instruction",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "backtracking",
        "bit set",
        "graph theory",
        "implementation",
        "simulation",
        "tree"
      ],
      "tag_keys": [
        "backtracking",
        "bitset",
        "graphs",
        "implementation",
        "simulation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "J",
      "problem_id": 10381,
      "problem_name": "Joy of Flight",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "geometry",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1295,
      "problem_letter": "K",
      "problem_id": 10382,
      "problem_name": "Kebab House",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "A",
      "problem_id": 10386,
      "problem_name": "\\(\\text{Con}+\\cfrac{\\text{tin}}{\\text{ued}+\\cfrac{\\text{Frac}}{\\text{tions}}}\\)",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "B",
      "problem_id": 10387,
      "problem_name": "A Cure for the Common Code",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1296,
      "problem_letter": "C",
      "problem_id": 10388,
      "problem_name": "Domiyahtzee!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1296,
      "problem_letter": "D",
      "problem_id": 10389,
      "problem_name": "Generalized Roman Numerals",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "E",
      "problem_id": 10390,
      "problem_name": "Inspectors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow",
        "hungarian"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf",
        "hungarian"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "F",
      "problem_id": 10391,
      "problem_name": "Path of Least Persistence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1296,
      "problem_letter": "G",
      "problem_id": 10392,
      "problem_name": "Speed Skills",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1296,
      "problem_letter": "H",
      "problem_id": 10393,
      "problem_name": "Time Warp",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "I",
      "problem_id": 10394,
      "problem_name": "Watch, Man!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1296,
      "problem_letter": "PA",
      "problem_id": 10383,
      "problem_name": "The Cost of Moving",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "PB",
      "problem_id": 10384,
      "problem_name": "팬그램",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1296,
      "problem_letter": "PC",
      "problem_id": 10385,
      "problem_name": "This Too Shall Pass",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "A",
      "problem_id": 10395,
      "problem_name": "Automated Checking Machine",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "B",
      "problem_id": 10396,
      "problem_name": "Black and white stones",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "C",
      "problem_id": 10397,
      "problem_name": "Counting substhreengs",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "dynamic programming",
        "string",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "dp",
        "string",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "D",
      "problem_id": 10398,
      "problem_name": "Dividing the names",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "string",
        "tree",
        "dynamic programming on trees",
        "trie"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "string",
        "trees",
        "dp_tree",
        "trie"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "E",
      "problem_id": 10399,
      "problem_name": "Even distribution",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "F",
      "problem_id": 10400,
      "problem_name": "Fence the vegetables",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1297,
      "problem_letter": "G",
      "problem_id": 10401,
      "problem_name": "Galaxy collision",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "depth-first search",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "dfs",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "H",
      "problem_id": 10402,
      "problem_name": "Help cupid",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "I",
      "problem_id": 10403,
      "problem_name": "Intrepid climber",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "J",
      "problem_id": 10404,
      "problem_name": "Journey through the kingdom",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1297,
      "problem_letter": "K",
      "problem_id": 10405,
      "problem_name": "Knights of the Round Table",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "combinatorics",
        "mathematics",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "combinatorics",
        "math",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "PA",
      "problem_id": 10406,
      "problem_name": "The fellowship of the ring",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "PB",
      "problem_id": 10407,
      "problem_name": "2 타워",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1297,
      "problem_letter": "PC",
      "problem_id": 10408,
      "problem_name": "The return of the King",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "A",
      "problem_id": 10409,
      "problem_name": "서버",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "B",
      "problem_id": 10410,
      "problem_name": "Eligibility",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "C",
      "problem_id": 10411,
      "problem_name": "Plane Ticket Pricing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "D",
      "problem_id": 10412,
      "problem_name": "Facility Locations",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "ad-hoc",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "ad_hoc",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "E",
      "problem_id": 10413,
      "problem_name": "반복되는 부분 문자열",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "F",
      "problem_id": 10414,
      "problem_name": "Landline Telephone Network",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "G",
      "problem_id": 10415,
      "problem_name": "Aquarium Tank",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "binary search",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "H",
      "problem_id": 10416,
      "problem_name": "Restaurant Ratings",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "I",
      "problem_id": 10417,
      "problem_name": "Locked Treasure",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "J",
      "problem_id": 10418,
      "problem_name": "Yet Satisfiability Again!",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1298,
      "problem_letter": "K",
      "problem_id": 10386,
      "problem_name": "\\(\\text{Con}+\\cfrac{\\text{tin}}{\\text{ued}+\\cfrac{\\text{Frac}}{\\text{tions}}}\\)",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "A",
      "problem_id": 10431,
      "problem_name": "줄세우기",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "B",
      "problem_id": 10432,
      "problem_name": "데이터 스트림의 섬",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "C",
      "problem_id": 10433,
      "problem_name": "부동소수점 형식 변환",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "D",
      "problem_id": 10434,
      "problem_name": "행복한 소수",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "simulation",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "simulation",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "E",
      "problem_id": 10435,
      "problem_name": "만칼라",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "F",
      "problem_id": 10436,
      "problem_name": "무한 유리수 트리",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "tree"
      ],
      "tag_keys": [
        "math",
        "trees"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "G",
      "problem_id": 10437,
      "problem_name": "자라나는 직교 나선",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "H",
      "problem_id": 10438,
      "problem_name": "페리 수열의 합",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1301,
      "problem_letter": "I",
      "problem_id": 10439,
      "problem_name": "여왕님의 테라스",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "A",
      "problem_id": 10440,
      "problem_name": "The Binary Search Efficiency Doubter",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "B",
      "problem_id": 10441,
      "problem_name": "Preorder Traversals",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "divide and conquer",
        "stack",
        "recursion"
      ],
      "tag_keys": [
        "data_structures",
        "divide_and_conquer",
        "stack",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "C",
      "problem_id": 10442,
      "problem_name": "Rank Order",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "D",
      "problem_id": 10409,
      "problem_name": "서버",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "E",
      "problem_id": 10415,
      "problem_name": "Aquarium Tank",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "binary search",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "F",
      "problem_id": 10416,
      "problem_name": "Restaurant Ratings",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "G",
      "problem_id": 10417,
      "problem_name": "Locked Treasure",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "H",
      "problem_id": 10386,
      "problem_name": "\\(\\text{Con}+\\cfrac{\\text{tin}}{\\text{ued}+\\cfrac{\\text{Frac}}{\\text{tions}}}\\)",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1302,
      "problem_letter": "I",
      "problem_id": 10444,
      "problem_name": "Anagram Pyramids",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1303,
      "problem_letter": "A",
      "problem_id": 10446,
      "problem_name": "Algorist Club",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "mathematics",
        "graph theory"
      ],
      "tag_keys": [
        "math",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1303,
      "problem_letter": "B",
      "problem_id": 10447,
      "problem_name": "Deduction",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1303,
      "problem_letter": "C",
      "problem_id": 10448,
      "problem_name": "유레카 이론",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1303,
      "problem_letter": "D",
      "problem_id": 10449,
      "problem_name": "Exploration",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1303,
      "problem_letter": "E",
      "problem_id": 10450,
      "problem_name": "Marbles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1303,
      "problem_letter": "F",
      "problem_id": 10451,
      "problem_name": "순열 사이클",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "graph theory",
        "graph traversal",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1303,
      "problem_letter": "G",
      "problem_id": 10452,
      "problem_name": "Road Repair",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1303,
      "problem_letter": "H",
      "problem_id": 10453,
      "problem_name": "문자열 변환",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1303,
      "problem_letter": "I",
      "problem_id": 10454,
      "problem_name": "세 네모",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "binary search",
        "backtracking",
        "parametric search"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "backtracking",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1303,
      "problem_letter": "J",
      "problem_id": 10455,
      "problem_name": "Torus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1303,
      "problem_letter": "K",
      "problem_id": 10456,
      "problem_name": "Travel Card",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1303,
      "problem_letter": "L",
      "problem_id": 10457,
      "problem_name": "Two Yachts",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1307,
      "problem_letter": "A",
      "problem_id": 10469,
      "problem_name": "사이 나쁜 여왕들",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "B",
      "problem_id": 10470,
      "problem_name": "빨강 검정 징검다리",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bitmask",
        "game theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs",
        "bitmask",
        "game_theory",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "C",
      "problem_id": 10471,
      "problem_name": "공간을 만들어 봅시다",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "D",
      "problem_id": 10472,
      "problem_name": "십자뒤집기",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search",
        "bitmask"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "E",
      "problem_id": 10473,
      "problem_name": "인간 대포",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "F",
      "problem_id": 10474,
      "problem_name": "분수좋아해?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "G",
      "problem_id": 10475,
      "problem_name": "모기 넌 내꺼야",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "H",
      "problem_id": 10476,
      "problem_name": "좁은 미술전시관",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "I",
      "problem_id": 10477,
      "problem_name": "경운기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "J",
      "problem_id": 10478,
      "problem_name": "단위",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1307,
      "problem_letter": "K",
      "problem_id": 10479,
      "problem_name": "따르릉 따르릉",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "physics"
      ],
      "tag_keys": [
        "geometry",
        "physics"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "A",
      "problem_id": 10480,
      "problem_name": "Oddities",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "B",
      "problem_id": 10481,
      "problem_name": "Ternarian Weights",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "C",
      "problem_id": 10482,
      "problem_name": "Goldbach’s Conjecture",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "D",
      "problem_id": 10483,
      "problem_name": "Shotcube",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "breadth-first search",
        "bitmask",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bitmask",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "E",
      "problem_id": 10484,
      "problem_name": "Erratic Ants",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "F",
      "problem_id": 10485,
      "problem_name": "Plotting Polynomials",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "G",
      "problem_id": 10486,
      "problem_name": "Trapezoid Walkway",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "H",
      "problem_id": 10487,
      "problem_name": "4 thought",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "I",
      "problem_id": 10488,
      "problem_name": "Biggest Slice",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "J",
      "problem_id": 10489,
      "problem_name": "Even Up Solitaire",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1308,
      "problem_letter": "K",
      "problem_id": 10490,
      "problem_name": "Island Buses",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "A",
      "problem_id": 10491,
      "problem_name": "Quite a problem",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "B",
      "problem_id": 10492,
      "problem_name": "Multi-touch gesture classification",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "graph theory",
        "graph traversal",
        "geometry",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "graphs",
        "graph_traversal",
        "geometry",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "C",
      "problem_id": 10493,
      "problem_name": "Stacking Curvy Blocks",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "calculus",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "D",
      "problem_id": 10494,
      "problem_name": "Unicycle counting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "E",
      "problem_id": 10495,
      "problem_name": "Choosing Numbers",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "sorting",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "sorting",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "F",
      "problem_id": 10496,
      "problem_name": "Loopy transit",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "G",
      "problem_id": 10497,
      "problem_name": "Hitting the Targets",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "H",
      "problem_id": 10498,
      "problem_name": "Texas Summers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "I",
      "problem_id": 10499,
      "problem_name": "Out of context",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1309,
      "problem_letter": "J",
      "problem_id": 10500,
      "problem_name": "Maze movement",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "graph theory",
        "number theory",
        "maximum flow",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "number_theory",
        "flow",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1309,
      "problem_letter": "K",
      "problem_id": 10501,
      "problem_name": "Ragged Right",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "A",
      "problem_id": 10502,
      "problem_name": "Parades",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "tree",
        "bitmask",
        "dynamic programming on trees",
        "dynamic programming using bitfield",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "bitmask",
        "dp_tree",
        "dp_bitfield",
        "lca"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "B",
      "problem_id": 10503,
      "problem_name": "Mountainous landscape",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "convex hull",
        "data structures",
        "geometry",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "convex_hull",
        "data_structures",
        "geometry",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "C",
      "problem_id": 10504,
      "problem_name": "덧셈",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "D",
      "problem_id": 10505,
      "problem_name": "Wheels",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "E",
      "problem_id": 10506,
      "problem_name": "Can’t stop playing",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "F",
      "problem_id": 10507,
      "problem_name": "Vocabulary",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "case work",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "case_work",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "G",
      "problem_id": 10508,
      "problem_name": "Virus synthesis",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "dynamic programming",
        "dynamic programming on trees",
        "palindrome tree",
        "sparse table",
        "string",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "dp_tree",
        "palindrome_tree",
        "sparse_table",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "palindrome_tree",
          "name": "palindrome tree",
          "boj_tag_id": 53
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "H",
      "problem_id": 10509,
      "problem_name": "Good morning!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "I",
      "problem_id": 10510,
      "problem_name": "Bricks",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "J",
      "problem_id": 10511,
      "problem_name": "Pork barrel",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "minimum spanning tree",
        "persistent segment tree",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "mst",
        "pst",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "K",
      "problem_id": 10512,
      "problem_name": "The Imp",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1310,
      "problem_letter": "L",
      "problem_id": 10513,
      "problem_name": "외계 침략자",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1311,
      "problem_letter": "1",
      "problem_id": 10514,
      "problem_name": "A Walk Together",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1311,
      "problem_letter": "2",
      "problem_id": 10515,
      "problem_name": "Refueling Stops",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1311,
      "problem_letter": "3",
      "problem_id": 10516,
      "problem_name": "Check Amount Validation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1311,
      "problem_letter": "4",
      "problem_id": 10517,
      "problem_name": "Radar Coverage",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "geometry",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "A",
      "problem_id": 10518,
      "problem_name": "Around the Track",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "convex hull",
        "floyd–warshall",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "convex_hull",
        "floyd_warshall",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "B",
      "problem_id": 10519,
      "problem_name": "Biking Duck",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "implementation",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "C",
      "problem_id": 10520,
      "problem_name": "Cent Savings",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "D",
      "problem_id": 10521,
      "problem_name": "Digi Comp II",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "E",
      "problem_id": 10522,
      "problem_name": "Euclidean TSP",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ternary search"
      ],
      "tag_keys": [
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "F",
      "problem_id": 10523,
      "problem_name": "직선 찾기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "randomization"
      ],
      "tag_keys": [
        "geometry",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "G",
      "problem_id": 10524,
      "problem_name": "Gathering",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "calculus",
        "implementation",
        "mathematics",
        "ternary search"
      ],
      "tag_keys": [
        "calculus",
        "implementation",
        "math",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "H",
      "problem_id": 10525,
      "problem_name": "Hyacinth",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "I",
      "problem_id": 10526,
      "problem_name": "왜판원 순회",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "bruteforcing",
        "bitmask",
        "meet in the middle",
        "bidirectional search"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "bitmask",
        "mitm",
        "bidirectional_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "bidirectional_search",
          "name": "bidirectional search",
          "boj_tag_id": 129
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "J",
      "problem_id": 10527,
      "problem_name": "Judging Troubles",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1312,
      "problem_letter": "K",
      "problem_id": 10528,
      "problem_name": "Knapsack Collection",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "A",
      "problem_id": 10529,
      "problem_name": "GREAT + SWERC = PORTO",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "B",
      "problem_id": 10530,
      "problem_name": "Flowery Trails",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "C",
      "problem_id": 10531,
      "problem_name": "Golf Bot",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "D",
      "problem_id": 10532,
      "problem_name": "Book Club",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "E",
      "problem_id": 10533,
      "problem_name": "Ricochet Robots",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "shortest path",
        "set / map by hashing",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "bfs",
        "shortest_path",
        "hash_set",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "F",
      "problem_id": 10534,
      "problem_name": "락페스티벌",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "sweeping",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "sweeping",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "G",
      "problem_id": 10535,
      "problem_name": "Playing with Geometry",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1313,
      "problem_letter": "H",
      "problem_id": 10536,
      "problem_name": "Money Transfers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1313,
      "problem_letter": "I",
      "problem_id": 10537,
      "problem_name": "The Safe Secret",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "dynamic programming"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1313,
      "problem_letter": "J",
      "problem_id": 10538,
      "problem_name": "빅 픽쳐",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "string",
        "tree",
        "hashing",
        "trie",
        "knuth–morris–pratt",
        "aho-corasick"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "hashing",
        "trie",
        "kmp",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "A",
      "problem_id": 10557,
      "problem_name": "Runes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "B",
      "problem_id": 10558,
      "problem_name": "Alchemy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1317,
      "problem_letter": "C",
      "problem_id": 10559,
      "problem_name": "Containment",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "D",
      "problem_id": 10560,
      "problem_name": "Function",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1317,
      "problem_letter": "E",
      "problem_id": 10561,
      "problem_name": "언덕수",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "F",
      "problem_id": 10562,
      "problem_name": "나이트",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "exponentiation by squaring",
        "berlekamp–massey"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "dp_bitfield",
        "exponentiation_by_squaring",
        "berlekamp_massey"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "berlekamp_massey",
          "name": "berlekamp–massey",
          "boj_tag_id": 110
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "G",
      "problem_id": 10563,
      "problem_name": "정수 게임",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "H",
      "problem_id": 10564,
      "problem_name": "팔굽혀펴기",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "I",
      "problem_id": 10565,
      "problem_name": "Salary Inequity",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "segment tree with lazy propagation",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "lazyprop",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "J",
      "problem_id": 10566,
      "problem_name": "도장 도장",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "convex hull",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "K",
      "problem_id": 10567,
      "problem_name": "Towers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "backtracking",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1317,
      "problem_letter": "L",
      "problem_id": 10568,
      "problem_name": "Wormholes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "M",
      "problem_id": 10569,
      "problem_name": "다면체",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic",
        "euler characteristic (χ=v-e+f)"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic",
        "euler_characteristic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "N",
      "problem_id": 10570,
      "problem_name": "Favorite Number",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "O",
      "problem_id": 10571,
      "problem_name": "다이아몬드",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "P",
      "problem_id": 10572,
      "problem_name": "Gold Leaf",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "Q",
      "problem_id": 10563,
      "problem_name": "정수 게임",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "R",
      "problem_id": 10573,
      "problem_name": "증가하는 수",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "S",
      "problem_id": 10574,
      "problem_name": "Ranked Choice",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "T",
      "problem_id": 10557,
      "problem_name": "Runes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "U",
      "problem_id": 10575,
      "problem_name": "Top 25",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "V",
      "problem_id": 10567,
      "problem_name": "Towers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "backtracking",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "W",
      "problem_id": 10568,
      "problem_name": "Wormholes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1318,
      "problem_letter": "X",
      "problem_id": 10576,
      "problem_name": "Wrench",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1319,
      "problem_letter": "A",
      "problem_id": 10577,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "B",
      "problem_id": 10578,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "C",
      "problem_id": 10579,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "D",
      "problem_id": 10580,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "E",
      "problem_id": 10581,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "F",
      "problem_id": 10582,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "G",
      "problem_id": 10583,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "H",
      "problem_id": 10584,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "I",
      "problem_id": 10585,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "J",
      "problem_id": 10586,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "K",
      "problem_id": 10587,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1319,
      "problem_letter": "L",
      "problem_id": 10588,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1320,
      "problem_letter": "A",
      "problem_id": 10589,
      "problem_name": "마법의 체스판",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "B",
      "problem_id": 10590,
      "problem_name": "Burrito King",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "C",
      "problem_id": 10591,
      "problem_name": "Cactus Generator",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "cactus",
        "data structures",
        "disjoint set",
        "eulerian path / circuit",
        "graph theory",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "cactus",
        "data_structures",
        "disjoint_set",
        "eulerian_path",
        "graphs",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "D",
      "problem_id": 10592,
      "problem_name": "Damage Assessment",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1320,
      "problem_letter": "E",
      "problem_id": 10593,
      "problem_name": "Epic Win!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "F",
      "problem_id": 10594,
      "problem_name": "Filter",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "G",
      "problem_id": 18931,
      "problem_name": "Gomoku",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1320,
      "problem_letter": "H",
      "problem_id": 10595,
      "problem_name": "Hidden Maze",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1320,
      "problem_letter": "I",
      "problem_id": 10596,
      "problem_name": "Improvements",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "binary search",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "binary_search",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "J",
      "problem_id": 10597,
      "problem_name": "순열장난",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1320,
      "problem_letter": "K",
      "problem_id": 10598,
      "problem_name": "Knockout Racing",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1321,
      "problem_letter": "A",
      "problem_id": 10599,
      "problem_name": "페르시아의 왕들",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1321,
      "problem_letter": "B",
      "problem_id": 10600,
      "problem_name": "Web Colors",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1321,
      "problem_letter": "C",
      "problem_id": 10601,
      "problem_name": "Ideal Scoreboard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1321,
      "problem_letter": "D",
      "problem_id": 10602,
      "problem_name": "Elevators",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1321,
      "problem_letter": "E",
      "problem_id": 10603,
      "problem_name": "Antennas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1321,
      "problem_letter": "F",
      "problem_id": 10604,
      "problem_name": "Working Hours",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1321,
      "problem_letter": "G",
      "problem_id": 10605,
      "problem_name": "드래곤 죽이기",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1321,
      "problem_letter": "H",
      "problem_id": 10606,
      "problem_name": "Toll",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1321,
      "problem_letter": "I",
      "problem_id": 10607,
      "problem_name": "Robot Race",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1321,
      "problem_letter": "J",
      "problem_id": 10608,
      "problem_name": "Bus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1321,
      "problem_letter": "K",
      "problem_id": 10609,
      "problem_name": "Line Fiting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1323,
      "problem_letter": "1",
      "problem_id": 10616,
      "problem_name": "Bulletproof Car Testing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1323,
      "problem_letter": "2",
      "problem_id": 10617,
      "problem_name": "Magnetos",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 1323,
      "problem_letter": "3",
      "problem_id": 10618,
      "problem_name": "Ambiguous Encodings",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "dynamic programming",
        "mathematics",
        "string"
      ],
      "tag_keys": [
        "dp",
        "math",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1323,
      "problem_letter": "4",
      "problem_id": 10619,
      "problem_name": "The One Dollar Gambler",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 1323,
      "problem_letter": "5",
      "problem_id": 10620,
      "problem_name": "Urdu orthography verification",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1323,
      "problem_letter": "6",
      "problem_id": 10621,
      "problem_name": "Web Service Dependencies",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1323,
      "problem_letter": "7",
      "problem_id": 10622,
      "problem_name": "A Population of Rabbits",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "A",
      "problem_id": 10689,
      "problem_name": "Hamza",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "B",
      "problem_id": 10690,
      "problem_name": "Compo",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "C",
      "problem_id": 10691,
      "problem_name": "Fegla",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "D",
      "problem_id": 10692,
      "problem_name": "Hamzawy",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "E",
      "problem_id": 10693,
      "problem_name": "Abdelrahman",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "F",
      "problem_id": 10694,
      "problem_name": "Fouad",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "G",
      "problem_id": 10695,
      "problem_name": "Dalia",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "H",
      "problem_id": 10696,
      "problem_name": "Prof. Ossama",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "I",
      "problem_id": 10697,
      "problem_name": "Nicole",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1331,
      "problem_letter": "J",
      "problem_id": 10698,
      "problem_name": "Ahmed Aly",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "A",
      "problem_id": 10784,
      "problem_name": "Amalgamated Artichokes",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "B",
      "problem_id": 10785,
      "problem_name": "Asteroids",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "implementation",
        "geometry",
        "parametric search",
        "convex hull",
        "line segment intersection check",
        "ternary search",
        "point in convex polygon check",
        "half plane intersection"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "parametric_search",
        "convex_hull",
        "line_intersection",
        "ternary_search",
        "point_in_convex_polygon",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "C",
      "problem_id": 10786,
      "problem_name": "Catering",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "D",
      "problem_id": 10787,
      "problem_name": "Cutting Cheese",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "calculus",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "calculus",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "E",
      "problem_id": 10788,
      "problem_name": "Evolution in Parallel",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "greedy",
        "string",
        "case work"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "F",
      "problem_id": 10789,
      "problem_name": "가상 키보드 입력",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "G",
      "problem_id": 10790,
      "problem_name": "달리기",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "H",
      "problem_id": 10791,
      "problem_name": "Qanat",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "I",
      "problem_id": 10792,
      "problem_name": "Ship Traffic",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "J",
      "problem_id": 10793,
      "problem_name": "Tile Cutting",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "K",
      "problem_id": 10794,
      "problem_name": "Tours",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "depth-first search",
        "articulation points and bridges"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "dfs",
        "articulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "L",
      "problem_id": 10983,
      "problem_name": "히기카드",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1347,
      "problem_letter": "M",
      "problem_id": 10796,
      "problem_name": "Window Manager",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "A",
      "problem_id": 10849,
      "problem_name": "A Journey to Greece",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "graph theory",
        "bitmask",
        "shortest path",
        "dijkstra's",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "bitmask",
        "shortest_path",
        "dijkstra",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "B",
      "problem_id": 10850,
      "problem_name": "Bounty Hunter II",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "C",
      "problem_id": 10851,
      "problem_name": "Cake",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "arbitrary precision / big integers",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arbitrary_precision",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "D",
      "problem_id": 10852,
      "problem_name": "Carpets",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "bruteforcing",
        "backtracking",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "backtracking",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "E",
      "problem_id": 10853,
      "problem_name": "Change of Scenery",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "F",
      "problem_id": 10854,
      "problem_name": "Divisions",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "prime factorization",
        "pollard rho",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "prime_factorization",
        "pollard_rho",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "G",
      "problem_id": 10855,
      "problem_name": "Extreme Sort",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "H",
      "problem_id": 10856,
      "problem_name": "Legacy Code",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "I",
      "problem_id": 10857,
      "problem_name": "Milling machines",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "J",
      "problem_id": 10858,
      "problem_name": "Souvenirs",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1355,
      "problem_letter": "K",
      "problem_id": 10859,
      "problem_name": "뒤집어진 소수",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "A",
      "problem_id": 11006,
      "problem_name": "남욱이의 닭장",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "B",
      "problem_id": 11007,
      "problem_name": "Inverse Move-to-Front Transform",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "C",
      "problem_id": 11008,
      "problem_name": "복붙의 달인",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "D",
      "problem_id": 11009,
      "problem_name": "Drinks",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "E",
      "problem_id": 11010,
      "problem_name": "Explosive Materials",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "knapsack",
        "bipartite graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "knapsack",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "F",
      "problem_id": 11011,
      "problem_name": "Forged Answers",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "greedy"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "G",
      "problem_id": 11012,
      "problem_name": "Egg",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "offline queries",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "offline_queries",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 1364,
      "problem_letter": "H",
      "problem_id": 11013,
      "problem_name": "The Missing Permutation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1367,
      "problem_letter": "A",
      "problem_id": 11038,
      "problem_name": "Entrance Examination",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "B",
      "problem_id": 11039,
      "problem_name": "Short Phrase",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "C",
      "problem_id": 11040,
      "problem_name": "ICPC Calculator",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "D",
      "problem_id": 11041,
      "problem_name": "500-yen Saving",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "E",
      "problem_id": 11042,
      "problem_name": "Deadlock Detection",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "bitmask",
        "depth-first search",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bitmask",
        "dfs",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "F",
      "problem_id": 11043,
      "problem_name": "Bridge Construction Planning",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "binary search",
        "minimum spanning tree",
        "aliens trick"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "mst",
        "alien"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "alien",
          "name": "aliens trick",
          "boj_tag_id": 134
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "G",
      "problem_id": 11044,
      "problem_name": "Complex Paper Folding",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "bruteforcing",
        "boolean operations on geometric objects",
        "geometry",
        "half plane intersection",
        "line segment intersection check",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometric_boolean_operations",
        "geometry",
        "half_plane_intersection",
        "line_intersection",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 1367,
      "problem_letter": "H",
      "problem_id": 11045,
      "problem_name": "Development of Small Flying Robots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1368,
      "problem_letter": "A",
      "problem_id": 11061,
      "problem_name": "Awkward Group",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "B",
      "problem_id": 11062,
      "problem_name": "카드 게임",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "B (수정)",
      "problem_id": 28039,
      "problem_name": "카드 게임 2",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "greedy",
        "game theory"
      ],
      "tag_keys": [
        "greedy",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "C",
      "problem_id": 11063,
      "problem_name": "Consecutive Ordering",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "D",
      "problem_id": 11064,
      "problem_name": "Diameter",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "E",
      "problem_id": 11065,
      "problem_name": "Grid Aliens",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "F",
      "problem_id": 11066,
      "problem_name": "파일 합치기",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "G",
      "problem_id": 11067,
      "problem_name": "모노톤길",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "H",
      "problem_id": 11068,
      "problem_name": "회문인 수",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "I",
      "problem_id": 11069,
      "problem_name": "Particle",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "chinese remainder theorem",
        "extended euclidean algorithm",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "crt",
        "extended_euclidean",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "J",
      "problem_id": 11070,
      "problem_name": "피타고라스 기댓값",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1368,
      "problem_letter": "K",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "A",
      "problem_id": 11071,
      "problem_name": "Shelob’s Lair",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "duality",
        "maximum flow",
        "geometry",
        "graph theory",
        "graph traversal",
        "line segment intersection check",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "duality",
        "flow",
        "geometry",
        "graphs",
        "graph_traversal",
        "line_intersection",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "B",
      "problem_id": 11072,
      "problem_name": "Football",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "dp",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "C",
      "problem_id": 11073,
      "problem_name": "Folding Code",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1369,
      "problem_letter": "D",
      "problem_id": 11074,
      "problem_name": "Painting Floors",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "constructive",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "E",
      "problem_id": 11075,
      "problem_name": "Who Do You Think You Are?",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "F",
      "problem_id": 11076,
      "problem_name": "Talking Money",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "case work",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "G",
      "problem_id": 11077,
      "problem_name": "Selling Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1369,
      "problem_letter": "H",
      "problem_id": 11078,
      "problem_name": "Banking",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "I",
      "problem_id": 11079,
      "problem_name": "Diana and the Golden Apples",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "J",
      "problem_id": 11080,
      "problem_name": "Almost an Anagram",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1369,
      "problem_letter": "K",
      "problem_id": 11081,
      "problem_name": "Rings of Saturn",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "A",
      "problem_id": 11072,
      "problem_name": "Football",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "dp",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "B",
      "problem_id": 11076,
      "problem_name": "Talking Money",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "case work",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "C",
      "problem_id": 11082,
      "problem_name": "소수를 분수로",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "parsing",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "parsing",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "D",
      "problem_id": 11083,
      "problem_name": "Resistance Is (Not) Futile!",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1370,
      "problem_letter": "E",
      "problem_id": 11084,
      "problem_name": "나이트의 염탐",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "F",
      "problem_id": 11080,
      "problem_name": "Almost an Anagram",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "G",
      "problem_id": 11075,
      "problem_name": "Who Do You Think You Are?",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "H",
      "problem_id": 11078,
      "problem_name": "Banking",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "I",
      "problem_id": 11071,
      "problem_name": "Shelob’s Lair",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "duality",
        "maximum flow",
        "geometry",
        "graph theory",
        "graph traversal",
        "line segment intersection check",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "duality",
        "flow",
        "geometry",
        "graphs",
        "graph_traversal",
        "line_intersection",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "J",
      "problem_id": 11074,
      "problem_name": "Painting Floors",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "constructive",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1370,
      "problem_letter": "K",
      "problem_id": 11077,
      "problem_name": "Selling Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1371,
      "problem_letter": "A",
      "problem_id": 11077,
      "problem_name": "Selling Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1371,
      "problem_letter": "B",
      "problem_id": 11080,
      "problem_name": "Almost an Anagram",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "C",
      "problem_id": 11075,
      "problem_name": "Who Do You Think You Are?",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "D",
      "problem_id": 11078,
      "problem_name": "Banking",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "E",
      "problem_id": 11083,
      "problem_name": "Resistance Is (Not) Futile!",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1371,
      "problem_letter": "F",
      "problem_id": 11085,
      "problem_name": "군사 이동",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "G",
      "problem_id": 11082,
      "problem_name": "소수를 분수로",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "parsing",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "parsing",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "H",
      "problem_id": 11071,
      "problem_name": "Shelob’s Lair",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "duality",
        "maximum flow",
        "geometry",
        "graph theory",
        "graph traversal",
        "line segment intersection check",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "duality",
        "flow",
        "geometry",
        "graphs",
        "graph_traversal",
        "line_intersection",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "I",
      "problem_id": 11079,
      "problem_name": "Diana and the Golden Apples",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "J",
      "problem_id": 11074,
      "problem_name": "Painting Floors",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "constructive",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1371,
      "problem_letter": "K",
      "problem_id": 11073,
      "problem_name": "Folding Code",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1372,
      "problem_letter": "A",
      "problem_id": 11086,
      "problem_name": "All about that base",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "B",
      "problem_id": 11087,
      "problem_name": "Bobby’s Bet",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "C",
      "problem_id": 11088,
      "problem_name": "Cantina of Babel",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "D",
      "problem_id": 11089,
      "problem_name": "Circuit Counting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack",
        "meet in the middle"
      ],
      "tag_keys": [
        "dp",
        "knapsack",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "E",
      "problem_id": 11090,
      "problem_name": "Cutting Brownies",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "game theory",
        "finding invariants"
      ],
      "tag_keys": [
        "greedy",
        "game_theory",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "F",
      "problem_id": 11091,
      "problem_name": "알파벳 전부 쓰기",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "G",
      "problem_id": 11092,
      "problem_name": "Safe Passage",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "bitmask",
        "shortest path",
        "dijkstra's",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "bitmask",
        "shortest_path",
        "dijkstra",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "H",
      "problem_id": 11093,
      "problem_name": "Secret Message",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "I",
      "problem_id": 11094,
      "problem_name": "꿍 가라사대",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "J",
      "problem_id": 11095,
      "problem_name": "Torn To Pieces",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "breadth-first search",
        "data structures",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "dfs",
        "graphs",
        "graph_traversal",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1372,
      "problem_letter": "K",
      "problem_id": 11096,
      "problem_name": "UnDetected",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "geometry",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "geometry",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1387,
      "problem_letter": "A",
      "problem_id": 11221,
      "problem_name": "Area of Effect",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1387,
      "problem_letter": "B",
      "problem_id": 11222,
      "problem_name": "Canyon Mapping",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1387,
      "problem_letter": "C",
      "problem_id": 11223,
      "problem_name": "Magic Checkerboard",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1387,
      "problem_letter": "D",
      "problem_id": 11224,
      "problem_name": "Extensive Or",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "digit dp",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "dp_digit",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1387,
      "problem_letter": "E",
      "problem_id": 11225,
      "problem_name": "Primal Partitions",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1387,
      "problem_letter": "F",
      "problem_id": 11226,
      "problem_name": "Sand Art",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1387,
      "problem_letter": "G",
      "problem_id": 11227,
      "problem_name": "String Stretching",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1387,
      "problem_letter": "H",
      "problem_id": 11228,
      "problem_name": "Vending Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1387,
      "problem_letter": "I",
      "problem_id": 11229,
      "problem_name": "Rainbow Zamboni",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1387,
      "problem_letter": "J",
      "problem_id": 11230,
      "problem_name": "Zig Zag Nametag",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "string",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "A",
      "problem_id": 10558,
      "problem_name": "Alchemy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1388,
      "problem_letter": "B",
      "problem_id": 11233,
      "problem_name": "Stained Carpet",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "C",
      "problem_id": 10559,
      "problem_name": "Containment",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "D",
      "problem_id": 10572,
      "problem_name": "Gold Leaf",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "E",
      "problem_id": 10561,
      "problem_name": "언덕수",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "F",
      "problem_id": 10562,
      "problem_name": "나이트",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "exponentiation by squaring",
        "berlekamp–massey"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "dp_bitfield",
        "exponentiation_by_squaring",
        "berlekamp_massey"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "berlekamp_massey",
          "name": "berlekamp–massey",
          "boj_tag_id": 110
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "G",
      "problem_id": 11231,
      "problem_name": "Word Ladder",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "H",
      "problem_id": 11232,
      "problem_name": "Shuffles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1388,
      "problem_letter": "I",
      "problem_id": 10566,
      "problem_name": "도장 도장",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "convex hull",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "A",
      "problem_id": 11233,
      "problem_name": "Stained Carpet",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "B",
      "problem_id": 10572,
      "problem_name": "Gold Leaf",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "C",
      "problem_id": 10561,
      "problem_name": "언덕수",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "D",
      "problem_id": 9781,
      "problem_name": "Knight Moves",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "E",
      "problem_id": 11234,
      "problem_name": "Marble Madness",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1389,
      "problem_letter": "F",
      "problem_id": 11235,
      "problem_name": "Polling",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "G",
      "problem_id": 10557,
      "problem_name": "Runes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "H",
      "problem_id": 11232,
      "problem_name": "Shuffles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1389,
      "problem_letter": "I",
      "problem_id": 10575,
      "problem_name": "Top 25",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "A",
      "problem_id": 11236,
      "problem_name": "Carrot",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "B",
      "problem_id": 11237,
      "problem_name": "Exam",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1390,
      "problem_letter": "C",
      "problem_id": 11238,
      "problem_name": "Fibo",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "D",
      "problem_id": 11239,
      "problem_name": "FindWords",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "hashing",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "hashing",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "E",
      "problem_id": 11240,
      "problem_name": "Flower",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "F",
      "problem_id": 11241,
      "problem_name": "Hive",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "G",
      "problem_id": 11242,
      "problem_name": "Lineage",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1390,
      "problem_letter": "H",
      "problem_id": 11243,
      "problem_name": "OPS",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "I",
      "problem_id": 11244,
      "problem_name": "Pink",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "J",
      "problem_id": 11245,
      "problem_name": "Song",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1390,
      "problem_letter": "K",
      "problem_id": 11246,
      "problem_name": "VeryEasy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1391,
      "problem_letter": "A",
      "problem_id": 11247,
      "problem_name": "Atomic Computer",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1391,
      "problem_letter": "B",
      "problem_id": 11248,
      "problem_name": "Bond Tour",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1391,
      "problem_letter": "C",
      "problem_id": 11249,
      "problem_name": "Chasing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1391,
      "problem_letter": "D",
      "problem_id": 11250,
      "problem_name": "Design A Tree",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1391,
      "problem_letter": "E",
      "problem_id": 11251,
      "problem_name": "Romance of The Three Kingdom",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "disjoint set",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "disjoint_set",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1391,
      "problem_letter": "F",
      "problem_id": 11252,
      "problem_name": "Finding something",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1391,
      "problem_letter": "G",
      "problem_id": 11253,
      "problem_name": "Goods Market",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1391,
      "problem_letter": "H",
      "problem_id": 11254,
      "problem_name": "Hydraulic Arm",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1391,
      "problem_letter": "I",
      "problem_id": 11255,
      "problem_name": "ITAI Virus",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "graph theory"
      ],
      "tag_keys": [
        "implementation",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1391,
      "problem_letter": "J",
      "problem_id": 11256,
      "problem_name": "사탕",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "A",
      "problem_id": 11257,
      "problem_name": "IT Passport Examination",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "B",
      "problem_id": 11258,
      "problem_name": "Thai Lottery Checking",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "C",
      "problem_id": 11259,
      "problem_name": "Travel of alphabets",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "data structures",
        "bruteforcing",
        "graph traversal",
        "sorting",
        "set / map",
        "breadth-first search",
        "depth-first search",
        "set / map by hashing",
        "recursion"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "bruteforcing",
        "graph_traversal",
        "sorting",
        "set",
        "bfs",
        "dfs",
        "hash_set",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "D",
      "problem_id": 11260,
      "problem_name": "Cell Counting",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "E",
      "problem_id": 11261,
      "problem_name": "Hunger Games",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "F",
      "problem_id": 11262,
      "problem_name": "Minions’ Master",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "G",
      "problem_id": 11263,
      "problem_name": "PIN Code Possibilities",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1392,
      "problem_letter": "H",
      "problem_id": 11264,
      "problem_name": "Logical Functions: AND-OR",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "A",
      "problem_id": 11267,
      "problem_name": "Adjoin the Networks",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "ad-hoc",
        "tree",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "ad_hoc",
        "trees",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "B",
      "problem_id": 11268,
      "problem_name": "Bell Ringing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "C",
      "problem_id": 11269,
      "problem_name": "Cryptographer’s Conundrum",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "D",
      "problem_id": 11270,
      "problem_name": "Disastrous Downtime",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "E",
      "problem_id": 11271,
      "problem_name": "Entertainment Box",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "F",
      "problem_id": 11272,
      "problem_name": "Floppy Music",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "G",
      "problem_id": 11273,
      "problem_name": "Goblin Garden Guards",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "prefix sum"
      ],
      "tag_keys": [
        "data_structures",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1393,
      "problem_letter": "H",
      "problem_id": 11274,
      "problem_name": "Hero Power",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1393,
      "problem_letter": "I",
      "problem_id": 11275,
      "problem_name": "iCar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1393,
      "problem_letter": "J",
      "problem_id": 11276,
      "problem_name": "Just a Quiz",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1395,
      "problem_letter": "A",
      "problem_id": 11292,
      "problem_name": "키 큰 사람",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "B",
      "problem_id": 11293,
      "problem_name": "Password",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "C",
      "problem_id": 11294,
      "problem_name": "Numbers",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "D",
      "problem_id": 11295,
      "problem_name": "Exercising",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "E",
      "problem_id": 11296,
      "problem_name": "가격",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "F",
      "problem_id": 11297,
      "problem_name": "Cypher",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "G",
      "problem_id": 11298,
      "problem_name": "Graphs",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "H",
      "problem_id": 11299,
      "problem_name": "Contest",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "I",
      "problem_id": 11300,
      "problem_name": "Black Jack",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "J",
      "problem_id": 11301,
      "problem_name": "Markleft",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1395,
      "problem_letter": "K",
      "problem_id": 11302,
      "problem_name": "Koch",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "linear algebra",
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "linear_algebra",
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "M",
      "problem_id": 11303,
      "problem_name": "Frogs With Styles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1395,
      "problem_letter": "N",
      "problem_id": 11304,
      "problem_name": "SV Filters",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1395,
      "problem_letter": "O",
      "problem_id": 11305,
      "problem_name": "Depacting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1395,
      "problem_letter": "P",
      "problem_id": 11306,
      "problem_name": "Mobile",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1407,
      "problem_letter": "A",
      "problem_id": 11411,
      "problem_name": "Equivalence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1407,
      "problem_letter": "B",
      "problem_id": 11412,
      "problem_name": "Tree of Almost Clean Money",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 1407,
      "problem_letter": "C",
      "problem_id": 11413,
      "problem_name": "Primes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "backtracking",
        "probability theory",
        "primality test",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "backtracking",
        "probability",
        "primality_test",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1407,
      "problem_letter": "D",
      "problem_id": 11414,
      "problem_name": "LCM",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1407,
      "problem_letter": "E",
      "problem_id": 11415,
      "problem_name": "Taxies",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1407,
      "problem_letter": "F",
      "problem_id": 11416,
      "problem_name": "Irrational Roots",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1407,
      "problem_letter": "G",
      "problem_id": 11417,
      "problem_name": "Race",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1407,
      "problem_letter": "H",
      "problem_id": 11418,
      "problem_name": "Railway Tickets",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1407,
      "problem_letter": "I",
      "problem_id": 11419,
      "problem_name": "Olympic Parade",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1407,
      "problem_letter": "J",
      "problem_id": 11420,
      "problem_name": "Word by mouth",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1409,
      "problem_letter": "A",
      "problem_id": 11445,
      "problem_name": "Cheating Knight",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "arbitrary precision / big integers",
        "binary search",
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "binary_search",
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "B",
      "problem_id": 11446,
      "problem_name": "Chess Tournament",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite graph",
        "constructive",
        "dynamic programming",
        "flood-fill",
        "graph theory",
        "graph traversal",
        "knapsack"
      ],
      "tag_keys": [
        "bipartite_graph",
        "constructive",
        "dp",
        "flood_fill",
        "graphs",
        "graph_traversal",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "C",
      "problem_id": 11447,
      "problem_name": "Colby’s Costly Collectibles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "implementation",
        "area of a polygon",
        "simulation"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "polygon_area",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "D",
      "problem_id": 11448,
      "problem_name": "Ga",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "E",
      "problem_id": 11449,
      "problem_name": "Icelandic Motorclubs",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "disjoint set",
        "priority queue",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "priority_queue",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "F",
      "problem_id": 11450,
      "problem_name": "Manhattan Power Failure",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "disjoint set",
        "grid graph",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "disjoint_set",
        "grid_graph",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "G",
      "problem_id": 11451,
      "problem_name": "팩맨",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "traceback"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "H",
      "problem_id": 11452,
      "problem_name": "Risk",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "I",
      "problem_id": 11453,
      "problem_name": "Rummikub",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "J",
      "problem_id": 11454,
      "problem_name": "Song Titles",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "string",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1409,
      "problem_letter": "K",
      "problem_id": 11455,
      "problem_name": "Tanks",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "geometry; 3d",
        "implementation"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "C",
      "problem_id": 11456,
      "problem_name": "Chasing the Cheetahs",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "arbitrary precision / big integers",
        "ternary search"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "D",
      "problem_id": 11457,
      "problem_name": "Falcon Dive",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "F",
      "problem_id": 11458,
      "problem_name": "The Fox and the Owl",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "case work",
        "greedy"
      ],
      "tag_keys": [
        "case_work",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "H",
      "problem_id": 11459,
      "problem_name": "Feeding the Herrings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "J",
      "problem_id": 11460,
      "problem_name": "Jumping Yoshi",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "L",
      "problem_id": 11461,
      "problem_name": "Lunch Menu",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "binary search",
        "two-pointer",
        "divide and conquer",
        "meet in the middle"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "two_pointer",
        "divide_and_conquer",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "O",
      "problem_id": 11462,
      "problem_name": "The Owl and the Fox",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "P",
      "problem_id": 11463,
      "problem_name": "Plankton Food",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "bellman–ford"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "S",
      "problem_id": 11464,
      "problem_name": "Hacking the Screen",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1410,
      "problem_letter": "T",
      "problem_id": 11465,
      "problem_name": "Visitors’ Train",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "geometry",
        "case work",
        "line segment intersection check"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "case_work",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "A",
      "problem_id": 11466,
      "problem_name": "Alex Origami Squares",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "B",
      "problem_id": 11467,
      "problem_name": "Black and White",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "C",
      "problem_id": 11468,
      "problem_name": "Concatenation",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "D",
      "problem_id": 11469,
      "problem_name": "Distribution in Metagonia",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "greedy",
        "ad-hoc",
        "number theory",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "ad_hoc",
        "number_theory",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "E",
      "problem_id": 11470,
      "problem_name": "Easy Arithmetic",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "F",
      "problem_id": 11471,
      "problem_name": "Fygon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1411,
      "problem_letter": "G",
      "problem_id": 11472,
      "problem_name": "Graph",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "priority queue",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "priority_queue",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "H",
      "problem_id": 11473,
      "problem_name": "Hash Code Hacker",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "I",
      "problem_id": 11474,
      "problem_name": "Insider’s Information",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "J",
      "problem_id": 11475,
      "problem_name": "Journey to the “The World’s Start”",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "data structures",
        "deque",
        "deque range maximum trick",
        "dynamic programming",
        "dynamic programming using a deque",
        "parametric search",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "deque",
        "deque_trick",
        "dp",
        "dp_deque",
        "parametric_search",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "deque_trick",
          "name": "deque range maximum trick",
          "boj_tag_id": 216
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_deque",
          "name": "dynamic programming using a deque",
          "boj_tag_id": 108
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "K",
      "problem_id": 11476,
      "problem_name": "Kingdom Trip",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1411,
      "problem_letter": "L",
      "problem_id": 11477,
      "problem_name": "Lucky Chances",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "A",
      "problem_id": 11480,
      "problem_name": "Aqueduct Construction",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "B",
      "problem_id": 11481,
      "problem_name": "Mountain Biking",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "calculus",
        "physics"
      ],
      "tag_keys": [
        "math",
        "calculus",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "C",
      "problem_id": 11482,
      "problem_name": "Conversation Log",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "D",
      "problem_id": 11483,
      "problem_name": "Slant Drilling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1412,
      "problem_letter": "E",
      "problem_id": 11484,
      "problem_name": "Rainfall",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "F",
      "problem_id": 11485,
      "problem_name": "Physiognomy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1412,
      "problem_letter": "G",
      "problem_id": 11486,
      "problem_name": "Drink Responsibly",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "H",
      "problem_id": 11487,
      "problem_name": "Sunlight",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1412,
      "problem_letter": "I",
      "problem_id": 11488,
      "problem_name": "Nimionese",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "parsing",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "J",
      "problem_id": 11489,
      "problem_name": "Jelly Raid",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "K",
      "problem_id": 11490,
      "problem_name": "Call a Cab",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1412,
      "problem_letter": "L",
      "problem_id": 11491,
      "problem_name": "Telescope",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1412,
      "problem_letter": "M",
      "problem_id": 11492,
      "problem_name": "Milestone Counter",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "A",
      "problem_id": 11493,
      "problem_name": "동전 교환",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "B",
      "problem_id": 11494,
      "problem_name": "Equilibrium State",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1413,
      "problem_letter": "C",
      "problem_id": 11495,
      "problem_name": "격자 0 만들기",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "D",
      "problem_id": 11496,
      "problem_name": "Kernel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1413,
      "problem_letter": "E",
      "problem_id": 11497,
      "problem_name": "통나무 건너뛰기",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "F",
      "problem_id": 11498,
      "problem_name": "홀수 싸이클",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "constructive",
        "depth-first search",
        "strongly connected component",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "constructive",
        "dfs",
        "scc",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "G",
      "problem_id": 11499,
      "problem_name": "Path",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "sorting",
        "geometry",
        "stack",
        "convex hull"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "geometry",
        "stack",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "H",
      "problem_id": 11500,
      "problem_name": "Polynomial",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "I",
      "problem_id": 11501,
      "problem_name": "주식",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "J",
      "problem_id": 11502,
      "problem_name": "세 개의 소수 문제",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "K",
      "problem_id": 11503,
      "problem_name": "Tree Edit",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1413,
      "problem_letter": "L",
      "problem_id": 11504,
      "problem_name": "돌려 돌려 돌림판!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "A",
      "problem_id": 11513,
      "problem_name": "Kinfolk",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "case work",
        "implementation",
        "lowest common ancestor",
        "tree"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "lca",
        "trees"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "B",
      "problem_id": 11514,
      "problem_name": "Refract Facts",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "binary search",
        "physics"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "C",
      "problem_id": 11515,
      "problem_name": "Poker",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "D",
      "problem_id": 11516,
      "problem_name": "Interpreter",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "E",
      "problem_id": 11517,
      "problem_name": "Positive Con Sequences",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "F",
      "problem_id": 11518,
      "problem_name": "Morse",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "G",
      "problem_id": 11519,
      "problem_name": "Hounded by Indecision",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "H",
      "problem_id": 11520,
      "problem_name": "And Then There Was 5",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1415,
      "problem_letter": "I",
      "problem_id": 11521,
      "problem_name": "Boggle",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "string",
        "bruteforcing",
        "graph traversal",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "bruteforcing",
        "graph_traversal",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "A",
      "problem_id": 11522,
      "problem_name": "Sum Kind of Problem",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "B",
      "problem_id": 11523,
      "problem_name": "Running Steps",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "C",
      "problem_id": 11524,
      "problem_name": "Immortal Porpoises",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "D",
      "problem_id": 11525,
      "problem_name": "Farey Sequence Length",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "prefix sum",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prefix_sum",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "E",
      "problem_id": 11526,
      "problem_name": "A Rational Sequence",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "F",
      "problem_id": 11527,
      "problem_name": "Robots",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "G",
      "problem_id": 11528,
      "problem_name": "Compositions",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "H",
      "problem_id": 11529,
      "problem_name": "Brocard Point of a Triangle",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "geometry"
      ],
      "tag_keys": [
        "binary_search",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1416,
      "problem_letter": "I",
      "problem_id": 11530,
      "problem_name": "RATS",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "arbitrary precision / big integers",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "A",
      "problem_id": 11531,
      "problem_name": "ACM 대회 채점",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "B",
      "problem_id": 11532,
      "problem_name": "The Agglomerator",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "implementation",
        "simulation",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "simulation",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "C",
      "problem_id": 11533,
      "problem_name": "Dance Recital",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "D",
      "problem_id": 11534,
      "problem_name": "Hidden Password",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "E",
      "problem_id": 11535,
      "problem_name": "Kitchen Measurements",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "graph theory",
        "set / map",
        "shortest path",
        "set / map by hashing",
        "dijkstra's"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "set",
        "shortest_path",
        "hash_set",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "F",
      "problem_id": 11536,
      "problem_name": "줄 세우기",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "G",
      "problem_id": 11537,
      "problem_name": "Mosaic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1417,
      "problem_letter": "H",
      "problem_id": 11538,
      "problem_name": "Pyro Tubes",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bitmask",
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1417,
      "problem_letter": "I",
      "problem_id": 11539,
      "problem_name": "Word Clouds Revisited",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "A",
      "problem_id": 11541,
      "problem_name": "At most twice",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "B",
      "problem_id": 11542,
      "problem_name": "Blood groups",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow",
        "circulation"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf",
        "circulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "C",
      "problem_id": 11543,
      "problem_name": "Cake cut",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "two-pointer",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "two_pointer",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "D",
      "problem_id": 11544,
      "problem_name": "D as in Daedalus",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "E",
      "problem_id": 11545,
      "problem_name": "Exposing corruption",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "knapsack",
        "bipartite graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "knapsack",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "F",
      "problem_id": 11546,
      "problem_name": "Fence the vegetables fail",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "G",
      "problem_id": 11547,
      "problem_name": "Galactic taxes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "ternary search"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "H",
      "problem_id": 11548,
      "problem_name": "Height map",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "I",
      "problem_id": 11549,
      "problem_name": "Identifying tea",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "J",
      "problem_id": 11550,
      "problem_name": "Just a bit sorted",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1418,
      "problem_letter": "K",
      "problem_id": 11551,
      "problem_name": "Keep it energized",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "binary search",
        "prefix sum",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "binary_search",
        "prefix_sum",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1418,
      "problem_letter": "P",
      "problem_id": 11540,
      "problem_name": "Competition",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "A",
      "problem_id": 11593,
      "problem_name": "Airports",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "shortest path",
        "bipartite matching",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bipartite_matching",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "B",
      "problem_id": 11594,
      "problem_name": "Butterfly Effect",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1424,
      "problem_letter": "C",
      "problem_id": 11595,
      "problem_name": "Classy",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "sorting",
        "string"
      ],
      "tag_keys": [
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "D",
      "problem_id": 11596,
      "problem_name": "Triangle",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "E",
      "problem_id": 11597,
      "problem_name": "Excellence",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "F",
      "problem_id": 11598,
      "problem_name": "Falling Blocks",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "case work",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "case_work",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "G",
      "problem_id": 11599,
      "problem_name": "Racing Gems",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "geometry",
        "lis"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "H",
      "problem_id": 11600,
      "problem_name": "Hilbert Sort",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "divide and conquer",
        "implementation"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1424,
      "problem_letter": "I",
      "problem_id": 11601,
      "problem_name": "Coverage",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1424,
      "problem_letter": "J",
      "problem_id": 11602,
      "problem_name": "Olympics",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1424,
      "problem_letter": "K",
      "problem_id": 11603,
      "problem_name": "Checkers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "disjoint set",
        "grid graph",
        "eulerian path / circuit",
        "parity"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "disjoint_set",
        "grid_graph",
        "eulerian_path",
        "parity"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "L",
      "problem_id": 11604,
      "problem_name": "Millionaire",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "M",
      "problem_id": 11605,
      "problem_name": "Magic Trick",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "N",
      "problem_id": 11606,
      "problem_name": "Egg Drop",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "O",
      "problem_id": 11607,
      "problem_name": "Grid",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "P",
      "problem_id": 11608,
      "problem_name": "Complexity",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "Q",
      "problem_id": 11597,
      "problem_name": "Excellence",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "R",
      "problem_id": 11609,
      "problem_name": "Class Time",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "S",
      "problem_id": 11610,
      "problem_name": "Surf",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "T",
      "problem_id": 11596,
      "problem_name": "Triangle",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "U",
      "problem_id": 11611,
      "problem_name": "Blur",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1425,
      "problem_letter": "V",
      "problem_id": 11612,
      "problem_name": "Gears",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bipartite graph"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bfs",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "A",
      "problem_id": 11613,
      "problem_name": "ASCII Addition",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "B",
      "problem_id": 11614,
      "problem_name": "Book Borders",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "prefix sum",
        "harmonic number"
      ],
      "tag_keys": [
        "binary_search",
        "prefix_sum",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "C",
      "problem_id": 11615,
      "problem_name": "Cow Confinement",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "data structures",
        "geometry",
        "segment tree with lazy propagation",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "lazyprop",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "D",
      "problem_id": 11616,
      "problem_name": "Digit Division",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "E",
      "problem_id": 11617,
      "problem_name": "Export Estimate",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "data structures",
        "disjoint set",
        "offline queries"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "disjoint_set",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "F",
      "problem_id": 11618,
      "problem_name": "Frightful Formula",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "combinatorics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "G",
      "problem_id": 11619,
      "problem_name": "Greenhouse Growth",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "disjoint set",
        "implementation",
        "simulation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "implementation",
        "simulation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "H",
      "problem_id": 11620,
      "problem_name": "Hovering Hornet",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "probability theory",
        "convex hull",
        "geometry; 3d",
        "area of a polygon",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "probability",
        "convex_hull",
        "geometry_3d",
        "polygon_area",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "I",
      "problem_id": 11621,
      "problem_name": "Ice Igloos",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "J",
      "problem_id": 11622,
      "problem_name": "Juice Junctions",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "disjoint set",
        "maximum flow",
        "max-flow min-cut theorem",
        "biconnected component"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "disjoint_set",
        "flow",
        "mfmc",
        "bcc"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "K",
      "problem_id": 11623,
      "problem_name": "Kernel Knights",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting",
        "functional graph"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting",
        "functional_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        }
      ]
    },
    {
      "contest_id": 1426,
      "problem_letter": "L",
      "problem_id": 11624,
      "problem_name": "Looping Labyrinth",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "number theory",
        "breadth-first search",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "number_theory",
        "bfs",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "A",
      "problem_id": 11625,
      "problem_name": "Freight Train",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "binary search",
        "value / coordinate compression",
        "dynamic programming",
        "greedy",
        "parametric search"
      ],
      "tag_keys": [
        "ad_hoc",
        "binary_search",
        "coordinate_compression",
        "dp",
        "greedy",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "B",
      "problem_id": 11626,
      "problem_name": "Physical Music",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "C",
      "problem_id": 11627,
      "problem_name": "Godzilla",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "D",
      "problem_id": 11628,
      "problem_name": "Hotels",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "sweeping"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "E",
      "problem_id": 11629,
      "problem_name": "The King’s Walk",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "F",
      "problem_id": 11630,
      "problem_name": "Map Colouring",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "G",
      "problem_id": 11631,
      "problem_name": "Mario",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "H",
      "problem_id": 11632,
      "problem_name": "Museum",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "I",
      "problem_id": 11633,
      "problem_name": "Six Degrees",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "shortest path"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "bfs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "J",
      "problem_id": 11634,
      "problem_name": "Tour de France",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "meet in the middle"
      ],
      "tag_keys": [
        "graphs",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "K",
      "problem_id": 11635,
      "problem_name": "Wipe Your Whiteboards",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 1427,
      "problem_letter": "L",
      "problem_id": 11636,
      "problem_name": "Stand on Zanzibar",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "A",
      "problem_id": 11637,
      "problem_name": "인기 투표",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "B",
      "problem_id": 11638,
      "problem_name": "Flipping Cards",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "breadth-first search",
        "data structures",
        "depth-first search",
        "disjoint set",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "dfs",
        "disjoint_set",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "C",
      "problem_id": 11639,
      "problem_name": "Amazing Race",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "D",
      "problem_id": 11640,
      "problem_name": "Scaling Recipes",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "E",
      "problem_id": 11641,
      "problem_name": "Space Junk",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "geometry; 3d",
        "mathematics",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "math",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "F",
      "problem_id": 11595,
      "problem_name": "Classy",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "sorting",
        "string"
      ],
      "tag_keys": [
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "G",
      "problem_id": 11642,
      "problem_name": "Rubik’s Revenge in ... 2D!? 3D?",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bidirectional search",
        "graph theory",
        "implementation",
        "meet in the middle"
      ],
      "tag_keys": [
        "bidirectional_search",
        "graphs",
        "implementation",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "bidirectional_search",
          "name": "bidirectional search",
          "boj_tag_id": 129
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "H",
      "problem_id": 11643,
      "problem_name": "The Magical 3",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "I",
      "problem_id": 11644,
      "problem_name": "Matrix Keypad",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "J",
      "problem_id": 11645,
      "problem_name": "I’ve Been Everywhere, Man",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1428,
      "problem_letter": "K",
      "problem_id": 11646,
      "problem_name": "Bundles of Joy",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bit set",
        "dynamic programming"
      ],
      "tag_keys": [
        "bitset",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "A",
      "problem_id": 11593,
      "problem_name": "Airports",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "shortest path",
        "bipartite matching",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "bipartite_matching",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "B",
      "problem_id": 11647,
      "problem_name": "Checkers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "ad-hoc",
        "disjoint set",
        "grid graph",
        "eulerian path / circuit",
        "parity"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "ad_hoc",
        "disjoint_set",
        "grid_graph",
        "eulerian_path",
        "parity"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "C",
      "problem_id": 11601,
      "problem_name": "Coverage",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1429,
      "problem_letter": "D",
      "problem_id": 11612,
      "problem_name": "Gears",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bipartite graph"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bfs",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "E",
      "problem_id": 11607,
      "problem_name": "Grid",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "F",
      "problem_id": 11600,
      "problem_name": "Hilbert Sort",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "divide and conquer",
        "implementation"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "G",
      "problem_id": 11643,
      "problem_name": "The Magical 3",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "H",
      "problem_id": 11599,
      "problem_name": "Racing Gems",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "geometry",
        "lis"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "I",
      "problem_id": 11608,
      "problem_name": "Complexity",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1429,
      "problem_letter": "J",
      "problem_id": 11602,
      "problem_name": "Olympics",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1430,
      "problem_letter": "A",
      "problem_id": 11611,
      "problem_name": "Blur",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "B",
      "problem_id": 11595,
      "problem_name": "Classy",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "sorting",
        "string"
      ],
      "tag_keys": [
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "C",
      "problem_id": 11606,
      "problem_name": "Egg Drop",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "D",
      "problem_id": 11597,
      "problem_name": "Excellence",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "E",
      "problem_id": 11607,
      "problem_name": "Grid",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "G",
      "problem_id": 11600,
      "problem_name": "Hilbert Sort",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "divide and conquer",
        "implementation"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "H",
      "problem_id": 11643,
      "problem_name": "The Magical 3",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "I",
      "problem_id": 11648,
      "problem_name": "지속",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "J",
      "problem_id": 11608,
      "problem_name": "Complexity",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "K",
      "problem_id": 11596,
      "problem_name": "Triangle",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1430,
      "problem_letter": "L",
      "problem_id": 11649,
      "problem_name": "Xedni Drawkcab",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "A",
      "problem_id": 11666,
      "problem_name": "워크스테이션 배정",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "B",
      "problem_id": 11667,
      "problem_name": "생산성 향상",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "C",
      "problem_id": 11668,
      "problem_name": "파이프 청소",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "geometry",
        "line segment intersection check",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "geometry",
        "line_intersection",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "D",
      "problem_id": 11669,
      "problem_name": "Debugging",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "E",
      "problem_id": 11670,
      "problem_name": "초등 수학",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "F",
      "problem_id": 11671,
      "problem_name": "Flight Plan Evaluation",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1431,
      "problem_letter": "G",
      "problem_id": 11672,
      "problem_name": "Guessing Camels",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "cdq"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "cdq"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "cdq",
          "name": "cdq",
          "boj_tag_id": 237
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "H",
      "problem_id": 11673,
      "problem_name": "Hole in One",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "simulation",
        "line segment intersection check"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "simulation",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "I",
      "problem_id": 11674,
      "problem_name": "Identifying Map Tiles",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "J",
      "problem_id": 11675,
      "problem_name": "Jumbled Communication",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1431,
      "problem_letter": "K",
      "problem_id": 11676,
      "problem_name": "Kitchen Combinatorics",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "A",
      "problem_id": 11677,
      "problem_name": "Promotions",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "directed acyclic graph",
        "graph theory",
        "graph traversal",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "graphs",
        "graph_traversal",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "B",
      "problem_id": 11678,
      "problem_name": "Black Vienna",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "2-sat",
        "bruteforcing",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "bruteforcing",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "C",
      "problem_id": 11679,
      "problem_name": "Canvas Painting",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "D",
      "problem_id": 11680,
      "problem_name": "Dice Cup",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "E",
      "problem_id": 11681,
      "problem_name": "Wooden Signs",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "F",
      "problem_id": 11682,
      "problem_name": "Landscaping",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "grid graph",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "grid_graph",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "G",
      "problem_id": 11683,
      "problem_name": "Game of Cards",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "H",
      "problem_id": 11684,
      "problem_name": "Sheldon Numbers",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1432,
      "problem_letter": "I",
      "problem_id": 11685,
      "problem_name": "Text Processor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1432,
      "problem_letter": "J",
      "problem_id": 11686,
      "problem_name": "Saint John Festival",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "binary search",
        "convex hull",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "convex_hull",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "A",
      "problem_id": 11735,
      "problem_name": "정산소",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "B",
      "problem_id": 11736,
      "problem_name": "Binary vs Decimal",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "number theory",
        "breadth-first search",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "number_theory",
        "bfs",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "C",
      "problem_id": 11737,
      "problem_name": "Cactus Jubilee",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "articulation points and bridges",
        "cactus",
        "graph theory"
      ],
      "tag_keys": [
        "articulation",
        "cactus",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "D",
      "problem_id": 11738,
      "problem_name": "Distance on Triangulation",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "breadth-first search",
        "divide and conquer",
        "offline queries"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "bfs",
        "divide_and_conquer",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "E",
      "problem_id": 11739,
      "problem_name": "Easy Problemset",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "F",
      "problem_id": 11740,
      "problem_name": "Froggy Ford",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "geometry",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "geometry",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "G",
      "problem_id": 11741,
      "problem_name": "Generators",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "H",
      "problem_id": 11742,
      "problem_name": "Hypercube",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "geometry",
        "geometry; hyperdimensional"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "geometry",
        "geometry_hyper"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_hyper",
          "name": "geometry; hyperdimensional",
          "boj_tag_id": 132
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "I",
      "problem_id": 11743,
      "problem_name": "Iceberg Orders",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "ad-hoc",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "J",
      "problem_id": 11744,
      "problem_name": "Jump",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "randomization"
      ],
      "tag_keys": [
        "randomization"
      ],
      "tag_details": [
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "K",
      "problem_id": 11745,
      "problem_name": "King’s Inspection",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1439,
      "problem_letter": "L",
      "problem_id": 11746,
      "problem_name": "Landscape Improved",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "two-pointer"
      ],
      "tag_keys": [
        "binary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "A",
      "problem_id": 11747,
      "problem_name": "수열",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "B",
      "problem_id": 11748,
      "problem_name": "Squeeze the Cylinders",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "C",
      "problem_id": 11749,
      "problem_name": "형제 게임",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "game theory"
      ],
      "tag_keys": [
        "graphs",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "D",
      "problem_id": 11750,
      "problem_name": "Wall Clocks",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "greedy",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "E",
      "problem_id": 11751,
      "problem_name": "Bringing Order to Disorder",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "backtracking",
        "bruteforcing",
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "combinatorics",
        "dp",
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "F",
      "problem_id": 11752,
      "problem_name": "Deadlock Detection",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "G",
      "problem_id": 11753,
      "problem_name": "알파카 문장",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "H",
      "problem_id": 11754,
      "problem_name": "Rotating Cutter Bits",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1440,
      "problem_letter": "I",
      "problem_id": 11755,
      "problem_name": "Routing a Marathon Race",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "backtracking"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "J",
      "problem_id": 11756,
      "problem_name": "Post Office Investigation",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "tree",
        "lowest common ancestor",
        "dominator tree"
      ],
      "tag_keys": [
        "trees",
        "lca",
        "dominator_tree"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "dominator_tree",
          "name": "dominator tree",
          "boj_tag_id": 135
        }
      ]
    },
    {
      "contest_id": 1440,
      "problem_letter": "K",
      "problem_id": 11757,
      "problem_name": "Min-Max Distance Game",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "greedy",
        "binary search",
        "game theory",
        "parametric search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "binary_search",
        "game_theory",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "A",
      "problem_id": 11763,
      "problem_name": "Being Solarly Systematic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1441,
      "problem_letter": "B",
      "problem_id": 11764,
      "problem_name": "Delete This!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "C",
      "problem_id": 11765,
      "problem_name": "KenKen You Do It?",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "backtracking"
      ],
      "tag_keys": [
        "dp",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "D",
      "problem_id": 11766,
      "problem_name": "Rings",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "E",
      "problem_id": 11767,
      "problem_name": "Squawk Virus",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "F",
      "problem_id": 11768,
      "problem_name": "Transportation Delegation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "G",
      "problem_id": 11769,
      "problem_name": "Tray Bien",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "H",
      "problem_id": 11770,
      "problem_name": "Trick Shot",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "I",
      "problem_id": 11771,
      "problem_name": "What’s on the Grille?",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "PA",
      "problem_id": 11759,
      "problem_name": "Bottled-Up Feelings",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "PB",
      "problem_id": 11760,
      "problem_name": "Mastering Mastermind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "PC",
      "problem_id": 11761,
      "problem_name": "Shuffling Along",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1441,
      "problem_letter": "PD",
      "problem_id": 11762,
      "problem_name": "A Towering Problem",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "sorting",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "sorting",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "A",
      "problem_id": 11784,
      "problem_name": "Hex Code",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "B",
      "problem_id": 11785,
      "problem_name": "Programming Contest Strategy",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "C",
      "problem_id": 11786,
      "problem_name": "Terrorists",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1444,
      "problem_letter": "D",
      "problem_id": 11787,
      "problem_name": "Aquarium",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "disjoint set",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "disjoint_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "E",
      "problem_id": 11788,
      "problem_name": "Queue of Soldiers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1444,
      "problem_letter": "F",
      "problem_id": 11789,
      "problem_name": "Jumping Joey",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1444,
      "problem_letter": "G",
      "problem_id": 11790,
      "problem_name": "Primorial vs LCM",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "sorting",
        "number theory",
        "binary search",
        "primality test",
        "offline queries",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "number_theory",
        "binary_search",
        "primality_test",
        "offline_queries",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "H",
      "problem_id": 11791,
      "problem_name": "Automatic Scholarship Calculation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "I",
      "problem_id": 11792,
      "problem_name": "Tom and Jerry",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "J",
      "problem_id": 11793,
      "problem_name": "Sunlight on a Tree",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "binary search",
        "case work",
        "convex hull",
        "data structures",
        "geometry",
        "heavy-light decomposition",
        "implementation",
        "merge sort tree",
        "offline queries",
        "segment tree",
        "sorting",
        "tree"
      ],
      "tag_keys": [
        "binary_search",
        "case_work",
        "convex_hull",
        "data_structures",
        "geometry",
        "hld",
        "implementation",
        "merge_sort_tree",
        "offline_queries",
        "segtree",
        "sorting",
        "trees"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1444,
      "problem_letter": "K",
      "problem_id": 11794,
      "problem_name": "New Angry Bird Weapon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1444,
      "problem_letter": "L",
      "problem_id": 11795,
      "problem_name": "Donation Packaging",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1445,
      "problem_letter": "A",
      "problem_id": 11799,
      "problem_name": "Game of Peace",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "euclidean algorithm",
        "implementation",
        "mathematics",
        "number theory",
        "simulation"
      ],
      "tag_keys": [
        "bruteforcing",
        "euclidean",
        "implementation",
        "math",
        "number_theory",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1445,
      "problem_letter": "B",
      "problem_id": 11800,
      "problem_name": "Tawla",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1445,
      "problem_letter": "C",
      "problem_id": 11801,
      "problem_name": "Feast Coins",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "sorting",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1445,
      "problem_letter": "D",
      "problem_id": 11802,
      "problem_name": "Wedding Selfie",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1445,
      "problem_letter": "E",
      "problem_id": 11803,
      "problem_name": "Connect the Cells",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1445,
      "problem_letter": "F",
      "problem_id": 11804,
      "problem_name": "Bike Sharing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1445,
      "problem_letter": "G",
      "problem_id": 11805,
      "problem_name": "Special Christmas Tree",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1445,
      "problem_letter": "H",
      "problem_id": 11806,
      "problem_name": "Messed up Pictures",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1445,
      "problem_letter": "I",
      "problem_id": 11807,
      "problem_name": "Equivalent Passwords",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking",
        "bitmask",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1445,
      "problem_letter": "J",
      "problem_id": 11808,
      "problem_name": "마리오와 사악한 키노피오",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "A",
      "problem_id": 12765,
      "problem_name": "Balanced Diet",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "B",
      "problem_id": 12766,
      "problem_name": "지사 배정",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "dijkstra's",
        "divide and conquer",
        "dynamic programming",
        "divide and conquer optimization",
        "prefix sum",
        "shortest path"
      ],
      "tag_keys": [
        "graphs",
        "dijkstra",
        "divide_and_conquer",
        "dp",
        "divide_and_conquer_optimization",
        "prefix_sum",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "C",
      "problem_id": 12767,
      "problem_name": "Ceiling Function",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "tree",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "D",
      "problem_id": 12768,
      "problem_name": "Clock Breaking",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "E",
      "problem_id": 12769,
      "problem_name": "영원한 젊음",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "bruteforcing",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "F",
      "problem_id": 12770,
      "problem_name": "Longest Rivers",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "graph theory",
        "data structures",
        "greedy",
        "graph traversal",
        "tree",
        "depth-first search",
        "sweeping",
        "dynamic programming on trees",
        "priority queue",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "data_structures",
        "greedy",
        "graph_traversal",
        "trees",
        "dfs",
        "sweeping",
        "dp_tree",
        "priority_queue",
        "hld"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "G",
      "problem_id": 12771,
      "problem_name": "Oil",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "H",
      "problem_id": 12772,
      "problem_name": "Polygonal Puzzle",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case work",
        "sweeping",
        "line segment intersection check"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case_work",
        "sweeping",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "I",
      "problem_id": 12773,
      "problem_name": "Road Times",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "shortest path",
        "linear programming"
      ],
      "tag_keys": [
        "shortest_path",
        "linear_programming"
      ],
      "tag_details": [
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "J",
      "problem_id": 12774,
      "problem_name": "Spin Doctor",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "binary search",
        "convex hull",
        "ternary search",
        "convex hull trick"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "convex_hull",
        "ternary_search",
        "cht"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "K",
      "problem_id": 12775,
      "problem_name": "String Theory",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "L",
      "problem_id": 12776,
      "problem_name": "Swap Space",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1490,
      "problem_letter": "M",
      "problem_id": 12777,
      "problem_name": "What Really Happened on Mars?",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "ad_hoc",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "A",
      "problem_id": 13051,
      "problem_name": "Fancy Antiques",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "meet in the middle",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "mitm",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "B",
      "problem_id": 13052,
      "problem_name": "Alternative Bracket Notation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "C",
      "problem_id": 13053,
      "problem_name": "Greetings!",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "D",
      "problem_id": 13054,
      "problem_name": "Programming Team",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "binary_search",
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "E",
      "problem_id": 13055,
      "problem_name": "K-Inversions",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "F",
      "problem_id": 13056,
      "problem_name": "Mountain Scenes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "G",
      "problem_id": 13057,
      "problem_name": "Symmetry",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "H",
      "problem_id": 13058,
      "problem_name": "Jewel Thief",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "divide and conquer",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "divide_and_conquer",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "I",
      "problem_id": 13059,
      "problem_name": "Tourists",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "tree",
        "lowest common ancestor",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "trees",
        "lca",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "J",
      "problem_id": 13060,
      "problem_name": "Whiteboard",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "disjoint set",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "disjoint_set",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1502,
      "problem_letter": "K",
      "problem_id": 13061,
      "problem_name": "YATP",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "tree",
        "divide and conquer",
        "convex hull trick",
        "centroid",
        "centroid decomposition"
      ],
      "tag_keys": [
        "trees",
        "divide_and_conquer",
        "cht",
        "centroid",
        "centroid_decomposition"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        }
      ]
    },
    {
      "contest_id": 1503,
      "problem_letter": "A",
      "problem_id": 13063,
      "problem_name": "Lobby",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1503,
      "problem_letter": "B",
      "problem_id": 13064,
      "problem_name": "Cameras",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1503,
      "problem_letter": "C",
      "problem_id": 13065,
      "problem_name": "Robot",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "biconnected component",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bcc",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1503,
      "problem_letter": "D",
      "problem_id": 13066,
      "problem_name": "Laser Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1503,
      "problem_letter": "E",
      "problem_id": 13067,
      "problem_name": "Billboard",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1503,
      "problem_letter": "F",
      "problem_id": 13068,
      "problem_name": "Funfair",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1503,
      "problem_letter": "G",
      "problem_id": 13069,
      "problem_name": "Beehive",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1503,
      "problem_letter": "H",
      "problem_id": 13070,
      "problem_name": "DNA Sequencing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1503,
      "problem_letter": "I",
      "problem_id": 13071,
      "problem_name": "Cafebazaar",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "circulation",
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "circulation",
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1503,
      "problem_letter": "J",
      "problem_id": 13072,
      "problem_name": "Fence",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "convex hull",
        "angle sorting"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "A",
      "problem_id": 13073,
      "problem_name": "Sums",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "B",
      "problem_id": 13074,
      "problem_name": "Musican Notes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "C",
      "problem_id": 13075,
      "problem_name": "Fibonacci Sequence",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "D",
      "problem_id": 13076,
      "problem_name": "Distinct rational numbers",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "prefix sum",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prefix_sum",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "E",
      "problem_id": 13077,
      "problem_name": "Sequence",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "tree"
      ],
      "tag_keys": [
        "math",
        "trees"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "F",
      "problem_id": 13078,
      "problem_name": "History-Cleanable DFA",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "G",
      "problem_id": 13079,
      "problem_name": "Partitioning a Queue",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "H",
      "problem_id": 13080,
      "problem_name": "Brocard Point",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "binary search",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1504,
      "problem_letter": "I",
      "problem_id": 13081,
      "problem_name": "RATS",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "arbitrary precision / big integers",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "A",
      "problem_id": 13147,
      "problem_name": "Dwarves",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "B",
      "problem_id": 13148,
      "problem_name": "Correcting Cheeseburgers",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "breadth-first search",
        "bidirectional search",
        "graph theory",
        "graph traversal",
        "meet in the middle"
      ],
      "tag_keys": [
        "bfs",
        "bidirectional_search",
        "graphs",
        "graph_traversal",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bidirectional_search",
          "name": "bidirectional search",
          "boj_tag_id": 129
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "C",
      "problem_id": 13149,
      "problem_name": "Knapsack in a Globalized World",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "knapsack"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "D",
      "problem_id": 13150,
      "problem_name": "Matrix Cypher",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "arbitrary precision / big integers",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "arbitrary_precision",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "E",
      "problem_id": 13151,
      "problem_name": "Model Railroad",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "F",
      "problem_id": 13152,
      "problem_name": "One-Way Roads",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "binary search",
        "parametric search",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "parametric_search",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "G",
      "problem_id": 13153,
      "problem_name": "Formula",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "H",
      "problem_id": 13154,
      "problem_name": "Celestial Map",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "I",
      "problem_id": 13155,
      "problem_name": "Common Knowledge",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "J",
      "problem_id": 13156,
      "problem_name": "Selling CPUs",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "K",
      "problem_id": 13157,
      "problem_name": "Routing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1509,
      "problem_letter": "L",
      "problem_id": 13158,
      "problem_name": "Maze",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1522,
      "problem_letter": "A",
      "problem_id": 13280,
      "problem_name": "Selection of Participants of an Experiment",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1522,
      "problem_letter": "B",
      "problem_id": 13281,
      "problem_name": "Look for the Winner!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1522,
      "problem_letter": "C",
      "problem_id": 13282,
      "problem_name": "Bamboo Blossoms",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "greedy",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "bit set"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory",
        "primality_test",
        "sieve",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 1522,
      "problem_letter": "D",
      "problem_id": 13283,
      "problem_name": "Daruma Otoshi",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1522,
      "problem_letter": "E",
      "problem_id": 13284,
      "problem_name": "3D Printing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1522,
      "problem_letter": "F",
      "problem_id": 13285,
      "problem_name": "Deciphering Characters",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "tree",
        "tree isomorphism"
      ],
      "tag_keys": [
        "trees",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 1522,
      "problem_letter": "G",
      "problem_id": 13286,
      "problem_name": "Warp Drive",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1522,
      "problem_letter": "H",
      "problem_id": 13287,
      "problem_name": "Gift Exchange Party",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "circulation",
        "maximum flow",
        "two-pointer",
        "graph theory"
      ],
      "tag_keys": [
        "binary_search",
        "circulation",
        "flow",
        "two_pointer",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "A",
      "problem_id": 13288,
      "problem_name": "A New Alphabet",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "B",
      "problem_id": 13289,
      "problem_name": "Arcade!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "gaussian elimination",
        "graph theory",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "gaussian_elimination",
        "graphs",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "C",
      "problem_id": 13290,
      "problem_name": "Big Truck",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "D",
      "problem_id": 13291,
      "problem_name": "Brackets",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "E",
      "problem_id": 13292,
      "problem_name": "Dots and Boxes",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "implementation",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "implementation",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "F",
      "problem_id": 13293,
      "problem_name": "Free Desserts",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "G",
      "problem_id": 13294,
      "problem_name": "역팩토리얼",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "H",
      "problem_id": 13295,
      "problem_name": "Nine Packs",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "I",
      "problem_id": 13296,
      "problem_name": "Primonimo",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "J",
      "problem_id": 13297,
      "problem_name": "Quick Estimates",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "K",
      "problem_id": 13298,
      "problem_name": "Robotopia",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1523,
      "problem_letter": "L",
      "problem_id": 13299,
      "problem_name": "Unusual Darts",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "geometry",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "A",
      "problem_id": 13325,
      "problem_name": "이진 트리",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "B",
      "problem_id": 13326,
      "problem_name": "Diameter",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "C",
      "problem_id": 13327,
      "problem_name": "개구리",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dijkstra's",
        "geometry",
        "graph theory",
        "implementation",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "geometry",
        "graphs",
        "implementation",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "D",
      "problem_id": 13328,
      "problem_name": "Message Passing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "dp",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "E",
      "problem_id": 13329,
      "problem_name": "Meteor Shower",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "sorting",
        "geometry",
        "set / map",
        "sweeping",
        "set / map by trees",
        "convex hull",
        "angle sorting"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "geometry",
        "set",
        "sweeping",
        "tree_set",
        "convex_hull",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "F",
      "problem_id": 13330,
      "problem_name": "유사 팰린드롬",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "G",
      "problem_id": 13331,
      "problem_name": "Planar Drawing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "disjoint set",
        "dual graph",
        "graph theory",
        "implementation",
        "planar graph"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "dual_graph",
        "graphs",
        "implementation",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "dual_graph",
          "name": "dual graph",
          "boj_tag_id": 181
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "H",
      "problem_id": 13332,
      "problem_name": "Project Team",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "maximum flow",
        "circulation"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "circulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "I",
      "problem_id": 13333,
      "problem_name": "Q-인덱스",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "J",
      "problem_id": 13334,
      "problem_name": "철로",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "sorting",
        "sweeping",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "sweeping",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "K",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1528,
      "problem_letter": "L",
      "problem_id": 13335,
      "problem_name": "트럭",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "A",
      "problem_id": 13343,
      "problem_name": "Block Game",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "game theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "game_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "B",
      "problem_id": 13344,
      "problem_name": "Chess Tournament",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "C",
      "problem_id": 13345,
      "problem_name": "Completing the Square",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "D",
      "problem_id": 13346,
      "problem_name": "Hamming Ellipses",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "E",
      "problem_id": 13347,
      "problem_name": "Lost In The Woods",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "F",
      "problem_id": 13348,
      "problem_name": "Memory Match",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "G",
      "problem_id": 13349,
      "problem_name": "Millionaire Madness",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "binary search",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "binary_search",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "H",
      "problem_id": 13350,
      "problem_name": "Presidential Elections",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "I",
      "problem_id": 13351,
      "problem_name": "Rock Band",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "sorting",
        "prefix sum",
        "set / map by hashing",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "prefix_sum",
        "hash_set",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "J",
      "problem_id": 13352,
      "problem_name": "석양이 진다...",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "geometry",
        "randomization"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 1529,
      "problem_letter": "K",
      "problem_id": 13353,
      "problem_name": "Translators’ Dinner",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "A",
      "problem_id": 13354,
      "problem_name": "Artwork",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "disjoint set",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "B",
      "problem_id": 13355,
      "problem_name": "Bless You Autocorrect!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "breadth-first search",
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "C",
      "problem_id": 13356,
      "problem_name": "Card Hand Sorting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "dynamic programming",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "bruteforcing",
        "dp",
        "lis"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "D",
      "problem_id": 13357,
      "problem_name": "Daydreaming Stockbroker",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "E",
      "problem_id": 13358,
      "problem_name": "Exponial",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "prime factorization",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "prime_factorization",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "F",
      "problem_id": 13359,
      "problem_name": "Fleecing the Raffle",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "G",
      "problem_id": 13360,
      "problem_name": "Game Rank",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "H",
      "problem_id": 13361,
      "problem_name": "최고인 대장장이 토르비욘",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "disjoint set",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "disjoint_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "I",
      "problem_id": 13362,
      "problem_name": "Interception",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "data structures",
        "greedy",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "J",
      "problem_id": 13363,
      "problem_name": "Jumbled Compass",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1530,
      "problem_letter": "K",
      "problem_id": 13364,
      "problem_name": "Keeping the Dogs Apart",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "two-pointer"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "A",
      "problem_id": 13365,
      "problem_name": "Jumping Worm",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "dial"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "dial"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dial",
          "name": "dial",
          "boj_tag_id": 224
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "B",
      "problem_id": 13366,
      "problem_name": "Math Contest",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "number theory",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "C",
      "problem_id": 13367,
      "problem_name": "Weeping Fig",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "stoer–wagner"
      ],
      "tag_keys": [
        "graphs",
        "stoer_wagner"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "stoer_wagner",
          "name": "stoer–wagner",
          "boj_tag_id": 75
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "D",
      "problem_id": 13368,
      "problem_name": "Cocktail Shaker Sort",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1531,
      "problem_letter": "E",
      "problem_id": 13369,
      "problem_name": "The Escape",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1531,
      "problem_letter": "F",
      "problem_id": 13370,
      "problem_name": "Carrot Farm",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1531,
      "problem_letter": "G",
      "problem_id": 13371,
      "problem_name": "Dolphin",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "binary search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "H",
      "problem_id": 13372,
      "problem_name": "Glass Bridge",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "I",
      "problem_id": 13373,
      "problem_name": "Rearrange",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1531,
      "problem_letter": "J",
      "problem_id": 13374,
      "problem_name": "Cyclic Triangle",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1531,
      "problem_letter": "K",
      "problem_id": 13375,
      "problem_name": "Organization",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1531,
      "problem_letter": "L",
      "problem_id": 13376,
      "problem_name": "Rune",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "sorting",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "sorting",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "A",
      "problem_id": 13377,
      "problem_name": "Dictionary",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "precomputation"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "B",
      "problem_id": 13378,
      "problem_name": "Dungeon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1532,
      "problem_letter": "C",
      "problem_id": 13379,
      "problem_name": "Far Far Away",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "D",
      "problem_id": 13380,
      "problem_name": "Found",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "graph theory",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "E",
      "problem_id": 13381,
      "problem_name": "Jump",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1532,
      "problem_letter": "F",
      "problem_id": 13382,
      "problem_name": "Lab",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "G",
      "problem_id": 13383,
      "problem_name": "Oil",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "depth-first search",
        "disjoint set",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "dfs",
        "disjoint_set",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "H",
      "problem_id": 13384,
      "problem_name": "Pry Sequence Transformation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1532,
      "problem_letter": "I",
      "problem_id": 13385,
      "problem_name": "Square",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "J",
      "problem_id": 13386,
      "problem_name": "Tree Count",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "tree",
        "set / map",
        "set / map by hashing",
        "tree isomorphism"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "set",
        "hash_set",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "K",
      "problem_id": 13387,
      "problem_name": "Water Pump",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "disjoint set",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "disjoint_set",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1532,
      "problem_letter": "L",
      "problem_id": 13388,
      "problem_name": "Who Feels Lucky",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1533,
      "problem_letter": "A",
      "problem_id": 13399,
      "problem_name": "Rearranging a Sequence",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures"
      ],
      "tag_keys": [
        "implementation",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "B",
      "problem_id": 13400,
      "problem_name": "Quality of Check Digits",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "C",
      "problem_id": 13401,
      "problem_name": "Distribution Center",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "D",
      "problem_id": 13402,
      "problem_name": "Hidden Anagrams",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by trees",
        "hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "tree_set",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "E",
      "problem_id": 13403,
      "problem_name": "Infallibly Crack Perplexing Cryptarithm",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bruteforcing",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "F",
      "problem_id": 13404,
      "problem_name": "Three Kingdoms of Bourdelot",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "greedy",
        "bruteforcing",
        "graph traversal",
        "shortest path",
        "depth-first search",
        "directed acyclic graph",
        "topological sorting",
        "floyd–warshall",
        "bit set"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "bruteforcing",
        "graph_traversal",
        "shortest_path",
        "dfs",
        "dag",
        "topological_sorting",
        "floyd_warshall",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "G",
      "problem_id": 13405,
      "problem_name": "Placing Medals on a Binary Tree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "data structures",
        "greedy",
        "set / map by hashing",
        "mathematics",
        "number theory",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "bitmask",
        "data_structures",
        "greedy",
        "hash_set",
        "math",
        "number_theory",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "H",
      "problem_id": 13406,
      "problem_name": "Animal Companion in Maze",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "strongly connected component",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "graphs",
        "scc",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "I",
      "problem_id": 13407,
      "problem_name": "Skinny Polygon",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "constructive",
        "extended euclidean algorithm",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "constructive",
        "extended_euclidean",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "J",
      "problem_id": 13408,
      "problem_name": "Cover the Polygon with Your Disk",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "calculus",
        "case work",
        "geometry",
        "heuristics",
        "implementation",
        "mathematics",
        "numerical analysis",
        "ternary search"
      ],
      "tag_keys": [
        "calculus",
        "case_work",
        "geometry",
        "heuristics",
        "implementation",
        "math",
        "numerical_analysis",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "numerical_analysis",
          "name": "numerical analysis",
          "boj_tag_id": 122
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1533,
      "problem_letter": "K",
      "problem_id": 13409,
      "problem_name": "Black and White Boxes",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "game theory",
        "meet in the middle",
        "hackenbush"
      ],
      "tag_keys": [
        "game_theory",
        "mitm",
        "hackenbush"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "hackenbush",
          "name": "hackenbush",
          "boj_tag_id": 205
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "A",
      "problem_id": 13449,
      "problem_name": "Alan Turing",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "simulation",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "B",
      "problem_id": 13450,
      "problem_name": "László Babai",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "graph theory",
        "ad-hoc"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "C",
      "problem_id": 13451,
      "problem_name": "Stephen Cook",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "string",
        "bitmask",
        "parsing",
        "game theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "string",
        "bitmask",
        "parsing",
        "game_theory",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "D",
      "problem_id": 13452,
      "problem_name": "Edsger Dijkstra",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "string",
        "ad-hoc",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "ad_hoc",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "E",
      "problem_id": 13453,
      "problem_name": "Jack Edmonds",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "data structures",
        "segment tree",
        "sweeping",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "segtree",
        "sweeping",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "F",
      "problem_id": 13454,
      "problem_name": "Robert Floyd",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "geometry",
        "planar graph",
        "euler characteristic (χ=v-e+f)"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "planar_graph",
        "euler_characteristic"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "G",
      "problem_id": 13455,
      "problem_name": "Kurt Gödel",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "set / map",
        "modular multiplicative inverse",
        "meet in the middle"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "set",
        "modular_multiplicative_inverse",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "H",
      "problem_id": 13456,
      "problem_name": "Richard Hamming",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1534,
      "problem_letter": "I",
      "problem_id": 13457,
      "problem_name": "Oracle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1535,
      "problem_letter": "A",
      "problem_id": 13461,
      "problem_name": "Airport Logistics",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "calculus",
        "dijkstra's",
        "geometry",
        "graph theory",
        "mathematics",
        "shortest path"
      ],
      "tag_keys": [
        "calculus",
        "dijkstra",
        "geometry",
        "graphs",
        "math",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "B",
      "problem_id": 13462,
      "problem_name": "Battle Simulation",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "C",
      "problem_id": 13463,
      "problem_name": "Brexit",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "D",
      "problem_id": 13464,
      "problem_name": "Bridge Automation",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "E",
      "problem_id": 13465,
      "problem_name": "Charles in Charge",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "parametric search"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "F",
      "problem_id": 13466,
      "problem_name": "Endless Turning",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "G",
      "problem_id": 13467,
      "problem_name": "Manhattan Positioning System",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "H",
      "problem_id": 13468,
      "problem_name": "Multiplying Digits",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "I",
      "problem_id": 13469,
      "problem_name": "Older Brother",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "J",
      "problem_id": 13470,
      "problem_name": "Programming Tutors",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "parametric search",
        "bipartite matching"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "K",
      "problem_id": 13471,
      "problem_name": "Safe Racing",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1535,
      "problem_letter": "L",
      "problem_id": 13472,
      "problem_name": "Sticky Situation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "A",
      "problem_id": 13473,
      "problem_name": "Anniversary Cake",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "geometry",
        "constructive"
      ],
      "tag_keys": [
        "geometry",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "B",
      "problem_id": 13474,
      "problem_name": "Boys and Girls",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "case work",
        "constructive"
      ],
      "tag_keys": [
        "case_work",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "C",
      "problem_id": 13475,
      "problem_name": "CodeCoder vs TopForces",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "sorting"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "D",
      "problem_id": 13476,
      "problem_name": "Digital Addition",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "backtracking",
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "dp",
        "dp_bitfield",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "E",
      "problem_id": 13477,
      "problem_name": "Easy Reading",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "two-pointer",
        "hashing"
      ],
      "tag_keys": [
        "two_pointer",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "F",
      "problem_id": 13478,
      "problem_name": "Folding",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "G",
      "problem_id": 13479,
      "problem_name": "Gangsters in Central City",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "prefix sum",
        "lowest common ancestor",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "prefix_sum",
        "lca",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "H",
      "problem_id": 13480,
      "problem_name": "Hard Cuts",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "backtracking",
        "divide and conquer",
        "dynamic programming",
        "geometry",
        "precomputation"
      ],
      "tag_keys": [
        "backtracking",
        "divide_and_conquer",
        "dp",
        "geometry",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "I",
      "problem_id": 13481,
      "problem_name": "Integral Polygons",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "prefix sum",
        "parity"
      ],
      "tag_keys": [
        "geometry",
        "prefix_sum",
        "parity"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "J",
      "problem_id": 13482,
      "problem_name": "Java2016",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive",
        "bitmask",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive",
        "bitmask",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1536,
      "problem_letter": "K",
      "problem_id": 13483,
      "problem_name": "King’s Heir",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "A",
      "problem_id": 30123,
      "problem_name": "Geometry Problem",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1540,
      "problem_letter": "B",
      "problem_id": 18256,
      "problem_name": "Interleaved Periodic String",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "C",
      "problem_id": 30124,
      "problem_name": "Lap time in a racing circuit",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1540,
      "problem_letter": "D",
      "problem_id": 30125,
      "problem_name": "Lattice Squares",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "E",
      "problem_id": 30126,
      "problem_name": "Trip Compulsion",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1540,
      "problem_letter": "F",
      "problem_id": 18255,
      "problem_name": "Visible Lattice",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "G",
      "problem_id": 13504,
      "problem_name": "XOR 합",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "tree",
        "prefix sum",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "prefix_sum",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "H",
      "problem_id": 18257,
      "problem_name": "Find The Number",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "binary search",
        "euclidean algorithm",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "binary_search",
        "euclidean",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "I",
      "problem_id": 30127,
      "problem_name": "Love for Pizza",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "data structures",
        "sorting",
        "geometry",
        "prefix sum",
        "angle sorting",
        "maximum subarray"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "sorting",
        "geometry",
        "prefix_sum",
        "angle_sorting",
        "maximum_subarray"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        },
        {
          "key": "maximum_subarray",
          "name": "maximum subarray",
          "boj_tag_id": 234
        }
      ]
    },
    {
      "contest_id": 1540,
      "problem_letter": "J",
      "problem_id": 30128,
      "problem_name": "Succession",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1542,
      "problem_letter": "A",
      "problem_id": 13520,
      "problem_name": "Taxing Problem",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "binary search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "B",
      "problem_id": 13521,
      "problem_name": "Build a Boat",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1542,
      "problem_letter": "C",
      "problem_id": 13522,
      "problem_name": "Compiler",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "backtracking",
        "bruteforcing",
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "backtracking",
        "bruteforcing",
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "D",
      "problem_id": 13523,
      "problem_name": "The Darkness",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "E",
      "problem_id": 13524,
      "problem_name": "Elegant Showroom",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "F",
      "problem_id": 13525,
      "problem_name": "Fridge",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "G",
      "problem_id": 13526,
      "problem_name": "Gondolas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1542,
      "problem_letter": "H",
      "problem_id": 13527,
      "problem_name": "Rhyming Slang",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "I",
      "problem_id": 13528,
      "problem_name": "Grass Seed Inc.",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "J",
      "problem_id": 13529,
      "problem_name": "Jack and the Beanbag",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1542,
      "problem_letter": "K",
      "problem_id": 13530,
      "problem_name": "Compensation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1542,
      "problem_letter": "L",
      "problem_id": 13531,
      "problem_name": "Secret Santa",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "A",
      "problem_id": 13559,
      "problem_name": "Bridge Park",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "disjoint set",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "dp",
        "dp_tree",
        "graphs",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "B",
      "problem_id": 13560,
      "problem_name": "축구 게임",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "graph theory",
        "greedy",
        "sorting",
        "degree sequence"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "greedy",
        "sorting",
        "degree_sequence"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "degree_sequence",
          "name": "degree sequence",
          "boj_tag_id": 200
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "C",
      "problem_id": 13561,
      "problem_name": "House Rental",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "two-pointer"
      ],
      "tag_keys": [
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "D",
      "problem_id": 13562,
      "problem_name": "Independent Edges",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1544,
      "problem_letter": "E",
      "problem_id": 13563,
      "problem_name": "Memory Cell",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1544,
      "problem_letter": "F",
      "problem_id": 13564,
      "problem_name": "Meteorites",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1544,
      "problem_letter": "G",
      "problem_id": 13565,
      "problem_name": "침투",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "H",
      "problem_id": 13566,
      "problem_name": "Power Supply",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1544,
      "problem_letter": "I",
      "problem_id": 13567,
      "problem_name": "로봇",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "J",
      "problem_id": 13568,
      "problem_name": "Room",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1544,
      "problem_letter": "K",
      "problem_id": 13569,
      "problem_name": "Rounding",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "maximum flow",
        "circulation"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "circulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        }
      ]
    },
    {
      "contest_id": 1544,
      "problem_letter": "L",
      "problem_id": 13570,
      "problem_name": "Virus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "A",
      "problem_id": 13580,
      "problem_name": "Andando no tempo",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1545,
      "problem_letter": "B",
      "problem_id": 13581,
      "problem_name": "Batata quente",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "C",
      "problem_id": 13582,
      "problem_name": "Containers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "D",
      "problem_id": 13583,
      "problem_name": "Divisores",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "mathematics",
        "number theory",
        "primality test",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "math",
        "number_theory",
        "primality_test",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1545,
      "problem_letter": "E",
      "problem_id": 13584,
      "problem_name": "Estatística hexa",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "F",
      "problem_id": 13585,
      "problem_name": "Fundindo árvores",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "G",
      "problem_id": 13586,
      "problem_name": "Go--",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1545,
      "problem_letter": "H",
      "problem_id": 13587,
      "problem_name": "huaauhahhuahau",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1545,
      "problem_letter": "I",
      "problem_id": 13588,
      "problem_name": "Isósceles",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1545,
      "problem_letter": "J",
      "problem_id": 13589,
      "problem_name": "Jogos olímpicos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "K",
      "problem_id": 13590,
      "problem_name": "Kit de encolhimento de polígonos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1545,
      "problem_letter": "L",
      "problem_id": 13591,
      "problem_name": "Ladrilhos",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "A",
      "problem_id": 13595,
      "problem_name": "Mania de Par",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "parity"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "parity"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "B",
      "problem_id": 13596,
      "problem_name": "Bolsa de Valores",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "C",
      "problem_id": 13597,
      "problem_name": "Tri-du",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "D",
      "problem_id": 13598,
      "problem_name": "Quebra-cabeça",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1546,
      "problem_letter": "E",
      "problem_id": 13599,
      "problem_name": "Espiral",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1546,
      "problem_letter": "F",
      "problem_id": 13600,
      "problem_name": "Fatorial",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "G",
      "problem_id": 13601,
      "problem_name": "Guardiões Curiosos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1546,
      "problem_letter": "H",
      "problem_id": 13602,
      "problem_name": "Praça do Retângulo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1546,
      "problem_letter": "I",
      "problem_id": 13603,
      "problem_name": "Ominobox",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "J",
      "problem_id": 13604,
      "problem_name": "Jogo de Estratégia",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1546,
      "problem_letter": "K",
      "problem_id": 13605,
      "problem_name": "Palíndromo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1546,
      "problem_letter": "L",
      "problem_id": 13606,
      "problem_name": "Loteria",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "A",
      "problem_id": 13610,
      "problem_name": "Volta",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "B",
      "problem_id": 13611,
      "problem_name": "Baralho Embaralhado",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "C",
      "problem_id": 13612,
      "problem_name": "Confederaćão",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bitmask",
        "data structures",
        "geometry",
        "geometry; 3d",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "bitmask",
        "data_structures",
        "geometry",
        "geometry_3d",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "D",
      "problem_id": 13613,
      "problem_name": "Dona Minhoca",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "depth-first search",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "dfs",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "E",
      "problem_id": 13614,
      "problem_name": "Ecologia",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "data structures",
        "bruteforcing",
        "sorting",
        "ad-hoc",
        "set / map",
        "prefix sum",
        "bitmask",
        "set / map by hashing",
        "dynamic programming using bitfield",
        "recursion",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "bruteforcing",
        "sorting",
        "ad_hoc",
        "set",
        "prefix_sum",
        "bitmask",
        "hash_set",
        "dp_bitfield",
        "recursion",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "F",
      "problem_id": 13615,
      "problem_name": "Teletransporte",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "G",
      "problem_id": 13616,
      "problem_name": "Letras",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "H",
      "problem_id": 13617,
      "problem_name": "Handebol",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "I",
      "problem_id": 13618,
      "problem_name": "RSA",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "euler totient function",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "euler_phi",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "J",
      "problem_id": 13619,
      "problem_name": "Corte",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1547,
      "problem_letter": "K",
      "problem_id": 13620,
      "problem_name": "Pizza do Vô Pepe",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "A",
      "problem_id": 13623,
      "problem_name": "Zero or One",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "B",
      "problem_id": 13624,
      "problem_name": "Balloon",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "set / map",
        "sweeping",
        "disjoint set",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "set",
        "sweeping",
        "disjoint_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "C",
      "problem_id": 13625,
      "problem_name": "Boss",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "D",
      "problem_id": 13626,
      "problem_name": "Folding Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1548,
      "problem_letter": "E",
      "problem_id": 13627,
      "problem_name": "Dangerous Dive",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "F",
      "problem_id": 13628,
      "problem_name": "Triangles",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "geometry",
        "implementation",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "implementation",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "G",
      "problem_id": 13629,
      "problem_name": "Lines of Containers",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "sorting",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "H",
      "problem_id": 13630,
      "problem_name": "Buses",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "combinatorics",
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1548,
      "problem_letter": "I",
      "problem_id": 13631,
      "problem_name": "Patches",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1548,
      "problem_letter": "J",
      "problem_id": 13632,
      "problem_name": "Trucks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1549,
      "problem_letter": "A",
      "problem_id": 13635,
      "problem_name": "Concurso de Contos",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "B",
      "problem_id": 13636,
      "problem_name": "Tobogan de bolinhas",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "C",
      "problem_id": 13637,
      "problem_name": "Cartões",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "D",
      "problem_id": 13638,
      "problem_name": "Coral Perfeito",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "E",
      "problem_id": 13639,
      "problem_name": "Elevador Espacial",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "F",
      "problem_id": 13640,
      "problem_name": "Perdido na Noite",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "lowest common ancestor",
        "mathematics",
        "probability theory",
        "tree"
      ],
      "tag_keys": [
        "lca",
        "math",
        "probability",
        "trees"
      ],
      "tag_details": [
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "G",
      "problem_id": 13641,
      "problem_name": "Grid de Largada",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "H",
      "problem_id": 13642,
      "problem_name": "Combate ao câncer",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "tree",
        "tree isomorphism"
      ],
      "tag_keys": [
        "trees",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "I",
      "problem_id": 13643,
      "problem_name": "Integral",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "case work",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "case_work",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "J",
      "problem_id": 13644,
      "problem_name": "Palavras",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "K",
      "problem_id": 13645,
      "problem_name": "Ciclo de Rubik",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1549,
      "problem_letter": "L",
      "problem_id": 13646,
      "problem_name": "Estrela",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1550,
      "problem_letter": "A",
      "problem_id": 13649,
      "problem_name": "Ácido Ribonucléico Alienígena",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1550,
      "problem_letter": "B",
      "problem_id": 13650,
      "problem_name": "Botas perdidas",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures"
      ],
      "tag_keys": [
        "implementation",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 1550,
      "problem_letter": "C",
      "problem_id": 13651,
      "problem_name": "Campeonato de SMS",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1550,
      "problem_letter": "D",
      "problem_id": 13652,
      "problem_name": "Desvio de rua",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1550,
      "problem_letter": "E",
      "problem_id": 13653,
      "problem_name": "Estacionamento",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1550,
      "problem_letter": "F",
      "problem_id": 13654,
      "problem_name": "Foco",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1550,
      "problem_letter": "G",
      "problem_id": 13655,
      "problem_name": "Guarda Costeira",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1550,
      "problem_letter": "H",
      "problem_id": 13656,
      "problem_name": "Homem, Elefante e Rato",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1550,
      "problem_letter": "I",
      "problem_id": 13657,
      "problem_name": "Incidente em Atlântida",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1551,
      "problem_letter": "A",
      "problem_id": 13658,
      "problem_name": "Revisão de Contrato",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1551,
      "problem_letter": "B",
      "problem_id": 13659,
      "problem_name": "Robô Colecionador",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1551,
      "problem_letter": "C",
      "problem_id": 13660,
      "problem_name": "Livro-caixa",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1551,
      "problem_letter": "D",
      "problem_id": 13661,
      "problem_name": "Desvio de Rota",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1551,
      "problem_letter": "E",
      "problem_id": 13662,
      "problem_name": "Elevador",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1551,
      "problem_letter": "F",
      "problem_id": 13663,
      "problem_name": "Fórmula 1",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1551,
      "problem_letter": "G",
      "problem_id": 13664,
      "problem_name": "Guerra nas estrelas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1551,
      "problem_letter": "H",
      "problem_id": 13665,
      "problem_name": "Plágio Musical",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1551,
      "problem_letter": "I",
      "problem_id": 13666,
      "problem_name": "Ir e Vir",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1551,
      "problem_letter": "J",
      "problem_id": 13667,
      "problem_name": "Leitura Ótica",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1551,
      "problem_letter": "K",
      "problem_id": 13668,
      "problem_name": "Jogo da Velha",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 1552,
      "problem_letter": "A",
      "problem_id": 13669,
      "problem_name": "Ataque Fulminante",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "case work",
        "boolean operations on geometric objects"
      ],
      "tag_keys": [
        "geometry",
        "case_work",
        "geometric_boolean_operations"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        }
      ]
    },
    {
      "contest_id": 1552,
      "problem_letter": "B",
      "problem_id": 13670,
      "problem_name": "Alarme Despertador",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1552,
      "problem_letter": "C",
      "problem_id": 13671,
      "problem_name": "Troca de Cartas",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1552,
      "problem_letter": "D",
      "problem_id": 13672,
      "problem_name": "Sub-prime",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1552,
      "problem_letter": "E",
      "problem_id": 13673,
      "problem_name": "Dragster",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1552,
      "problem_letter": "F",
      "problem_id": 13674,
      "problem_name": "Torres de Telefonia Celular",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "geometry",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 1552,
      "problem_letter": "G",
      "problem_id": 13675,
      "problem_name": "Registrador de Deslocamento",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1552,
      "problem_letter": "H",
      "problem_id": 13676,
      "problem_name": "Escultura a Laser",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "A",
      "problem_id": 13677,
      "problem_name": "Apagando e Ganhando",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "B",
      "problem_id": 13678,
      "problem_name": "Babel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1553,
      "problem_letter": "C",
      "problem_id": 13679,
      "problem_name": "O Salão do Clube",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "D",
      "problem_id": 13680,
      "problem_name": "Dama",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "E",
      "problem_id": 13681,
      "problem_name": "Bolhas e Baldes",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "sorting",
        "segment tree",
        "game theory"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "F",
      "problem_id": 13682,
      "problem_name": "Loop Musical",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "G",
      "problem_id": 13683,
      "problem_name": "Set",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "H",
      "problem_id": 13684,
      "problem_name": "Divisão da Nlogõnia",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1553,
      "problem_letter": "I",
      "problem_id": 13685,
      "problem_name": "Maior Subseqüência Crescente",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1553,
      "problem_letter": "J",
      "problem_id": 13686,
      "problem_name": "Vampiros",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "dynamic programming",
        "mathematics",
        "probability theory",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "math",
        "probability",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 1554,
      "problem_letter": "A",
      "problem_id": 13577,
      "problem_name": "Vôlei Marciano",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1554,
      "problem_letter": "B",
      "problem_id": 13578,
      "problem_name": "Rouba-Monte",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1554,
      "problem_letter": "C",
      "problem_id": 13579,
      "problem_name": "Série de Tubos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1554,
      "problem_letter": "D",
      "problem_id": 13592,
      "problem_name": "Mário",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1554,
      "problem_letter": "E",
      "problem_id": 13593,
      "problem_name": "Histórico de Comandos",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1554,
      "problem_letter": "F",
      "problem_id": 13594,
      "problem_name": "Desempilhando Caixas",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "ad-hoc",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1554,
      "problem_letter": "G",
      "problem_id": 13607,
      "problem_name": "Onde Estão as Bolhas?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1554,
      "problem_letter": "H",
      "problem_id": 13608,
      "problem_name": "Jogo de Varetas",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1554,
      "problem_letter": "I",
      "problem_id": 13609,
      "problem_name": "Zak Galou",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1554,
      "problem_letter": "J",
      "problem_id": 13621,
      "problem_name": "Olimpíadas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1555,
      "problem_letter": "A",
      "problem_id": 13622,
      "problem_name": "Circuito Bioquímico Digital",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1555,
      "problem_letter": "B",
      "problem_id": 13633,
      "problem_name": "O Problema da Parada",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1555,
      "problem_letter": "C",
      "problem_id": 13634,
      "problem_name": "Países em Guerra",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1555,
      "problem_letter": "D",
      "problem_id": 13647,
      "problem_name": "Energia × Tempo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1555,
      "problem_letter": "E",
      "problem_id": 13648,
      "problem_name": "MegaDamas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "backtracking",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1555,
      "problem_letter": "F",
      "problem_id": 13687,
      "problem_name": "Copa do Mundo",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "ad-hoc",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1555,
      "problem_letter": "G",
      "problem_id": 13688,
      "problem_name": "Rota Crítica",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1555,
      "problem_letter": "H",
      "problem_id": 13689,
      "problem_name": "Amigos ou Inimigos?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1556,
      "problem_letter": "A",
      "problem_id": 13690,
      "problem_name": "Jogo do Bicho",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1556,
      "problem_letter": "B",
      "problem_id": 13691,
      "problem_name": "Curso Universitário",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "topological sorting",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "graphs",
        "topological_sorting",
        "dag"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 1556,
      "problem_letter": "C",
      "problem_id": 13692,
      "problem_name": "Redução de Pena",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1556,
      "problem_letter": "D",
      "problem_id": 13693,
      "problem_name": "Cubos Coloridos",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "ad-hoc",
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "ad_hoc",
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1556,
      "problem_letter": "E",
      "problem_id": 13694,
      "problem_name": "Gerente de Espaço",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1556,
      "problem_letter": "F",
      "problem_id": 13695,
      "problem_name": "Tecle & Some",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1556,
      "problem_letter": "G",
      "problem_id": 13696,
      "problem_name": "Regata de Cientistas",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1556,
      "problem_letter": "H",
      "problem_id": 13697,
      "problem_name": "Piscina",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "A",
      "problem_id": 13731,
      "problem_name": "As Easy as CAB",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "string",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "B",
      "problem_id": 13732,
      "problem_name": "Falling Apples",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "C",
      "problem_id": 13733,
      "problem_name": "Square Deal",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "D",
      "problem_id": 13734,
      "problem_name": "Buggy Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "E",
      "problem_id": 13735,
      "problem_name": "Construction Toy",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "F",
      "problem_id": 13736,
      "problem_name": "Around and Around We Go",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1558,
      "problem_letter": "G",
      "problem_id": 13737,
      "problem_name": "The Calculus of Ada",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "H",
      "problem_id": 13738,
      "problem_name": "Ghostbusters 2",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "binary search",
        "parametric search",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "parametric_search",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "I",
      "problem_id": 13739,
      "problem_name": "Postal Delivery",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "implementation",
        "simulation",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "implementation",
        "simulation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1558,
      "problem_letter": "J",
      "problem_id": 13740,
      "problem_name": "Windy Path",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "constructive",
        "geometry",
        "greedy"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "geometry",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "A",
      "problem_id": 13741,
      "problem_name": "Alphabet",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "string",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "string",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "B",
      "problem_id": 13742,
      "problem_name": "Base Sums",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "C",
      "problem_id": 13734,
      "problem_name": "Buggy Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "D",
      "problem_id": 13743,
      "problem_name": "Enclosure",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1559,
      "problem_letter": "E",
      "problem_id": 13744,
      "problem_name": "Illumination",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "F",
      "problem_id": 13745,
      "problem_name": "InTents",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1559,
      "problem_letter": "G",
      "problem_id": 13746,
      "problem_name": "Islands",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "H",
      "problem_id": 13747,
      "problem_name": "Paint",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "data structures"
      ],
      "tag_keys": [
        "dp",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "I",
      "problem_id": 13748,
      "problem_name": "Periodic Strings",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "J",
      "problem_id": 13749,
      "problem_name": "Water",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1559,
      "problem_letter": "K",
      "problem_id": 13750,
      "problem_name": "Zigzag",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "A",
      "problem_id": 13751,
      "problem_name": "Barbells",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "B",
      "problem_id": 13734,
      "problem_name": "Buggy Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "C",
      "problem_id": 13731,
      "problem_name": "As Easy as CAB",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "string",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "D",
      "problem_id": 13732,
      "problem_name": "Falling Apples",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "E",
      "problem_id": 13752,
      "problem_name": "히스토그램",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "F",
      "problem_id": 13746,
      "problem_name": "Islands",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "G",
      "problem_id": 13753,
      "problem_name": "Project Panoptes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1560,
      "problem_letter": "H",
      "problem_id": 13748,
      "problem_name": "Periodic Strings",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "I",
      "problem_id": 13754,
      "problem_name": "Mismatched Socks",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "J",
      "problem_id": 13755,
      "problem_name": "It Takes Three",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1560,
      "problem_letter": "K",
      "problem_id": 13750,
      "problem_name": "Zigzag",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1561,
      "problem_letter": "A",
      "problem_id": 13760,
      "problem_name": "Appropriate Coordinate Map",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1561,
      "problem_letter": "B",
      "problem_id": 13761,
      "problem_name": "Banking II",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1561,
      "problem_letter": "C",
      "problem_id": 13762,
      "problem_name": "Calculating Taxes",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "set / map",
        "dynamic programming on trees",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "set",
        "dp_tree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1561,
      "problem_letter": "D",
      "problem_id": 13763,
      "problem_name": "Dropped Water Bottle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1561,
      "problem_letter": "E",
      "problem_id": 13764,
      "problem_name": "Earl’s Extremely Efficient Encryption",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1561,
      "problem_letter": "F",
      "problem_id": 13765,
      "problem_name": "Flipping Switches",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1561,
      "problem_letter": "G",
      "problem_id": 13766,
      "problem_name": "Game Moves",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1561,
      "problem_letter": "H",
      "problem_id": 13767,
      "problem_name": "Hiking",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "grid graph",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "grid_graph",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1561,
      "problem_letter": "I",
      "problem_id": 13768,
      "problem_name": "Individually Customised Pop-up Cards",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1561,
      "problem_letter": "J",
      "problem_id": 13769,
      "problem_name": "Jumping Impala",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1561,
      "problem_letter": "K",
      "problem_id": 13770,
      "problem_name": "Krypton Stadiums",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "A",
      "problem_id": 13771,
      "problem_name": "Presents",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "B",
      "problem_id": 13772,
      "problem_name": "Holes",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "C",
      "problem_id": 13773,
      "problem_name": "Olympic Games",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "D",
      "problem_id": 13774,
      "problem_name": "Palindromes",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "E",
      "problem_id": 13775,
      "problem_name": "Virus",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "F",
      "problem_id": 13776,
      "problem_name": "Alpha Puzzle",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "G",
      "problem_id": 13777,
      "problem_name": "Hunt The Rabbit",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "binary search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "H",
      "problem_id": 13778,
      "problem_name": "Parliamentary Rankings",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "I",
      "problem_id": 13779,
      "problem_name": "Obfustication",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1562,
      "problem_letter": "J",
      "problem_id": 13780,
      "problem_name": "Rasterization",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1562,
      "problem_letter": "K",
      "problem_id": 13781,
      "problem_name": "IK Robot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1562,
      "problem_letter": "L",
      "problem_id": 13782,
      "problem_name": "Pokemon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1562,
      "problem_letter": "M",
      "problem_id": 13783,
      "problem_name": "Hashing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1562,
      "problem_letter": "N",
      "problem_id": 13784,
      "problem_name": "What Next",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1562,
      "problem_letter": "O",
      "problem_id": 13785,
      "problem_name": "The Resistance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1562,
      "problem_letter": "P",
      "problem_id": 13786,
      "problem_name": "Rtetris",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1571,
      "problem_letter": "A",
      "problem_id": 13855,
      "problem_name": "Three Squares",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "backtracking",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "backtracking",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "B",
      "problem_id": 13856,
      "problem_name": "Favorite music",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1571,
      "problem_letter": "C",
      "problem_id": 13857,
      "problem_name": "Castle",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "knuth–morris–pratt",
        "string"
      ],
      "tag_keys": [
        "kmp",
        "string"
      ],
      "tag_details": [
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "D",
      "problem_id": 13858,
      "problem_name": "Reading Digits",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "E",
      "problem_id": 13859,
      "problem_name": "Exam",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1571,
      "problem_letter": "F",
      "problem_id": 13860,
      "problem_name": "Letters",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "string"
      ],
      "tag_keys": [
        "math",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "G",
      "problem_id": 13861,
      "problem_name": "Pokemons",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "H",
      "problem_id": 13862,
      "problem_name": "Pub crawl",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "constructive",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "constructive",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "I",
      "problem_id": 13863,
      "problem_name": "Cubes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing",
        "backtracking",
        "two-pointer"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set",
        "backtracking",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "J",
      "problem_id": 13864,
      "problem_name": "Marathon",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1571,
      "problem_letter": "K",
      "problem_id": 13865,
      "problem_name": "Cutting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1572,
      "problem_letter": "A",
      "problem_id": 13866,
      "problem_name": "팀 나누기",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "B",
      "problem_id": 13867,
      "problem_name": "Back to the Future",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "C",
      "problem_id": 13868,
      "problem_name": "Counting Self-Rotating Subsets",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "data structures",
        "geometry",
        "set / map",
        "combinatorics",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "geometry",
        "set",
        "combinatorics",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "D",
      "problem_id": 13869,
      "problem_name": "Dating On-Line",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "greedy",
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "E",
      "problem_id": 13870,
      "problem_name": "Emission Spectrum",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "F",
      "problem_id": 13871,
      "problem_name": "Farm robot",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "G",
      "problem_id": 13872,
      "problem_name": "Game of Matchings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "hashing",
        "knuth–morris–pratt",
        "string"
      ],
      "tag_keys": [
        "hashing",
        "kmp",
        "string"
      ],
      "tag_details": [
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "H",
      "problem_id": 13873,
      "problem_name": "Hotel Rewards",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "I",
      "problem_id": 13874,
      "problem_name": "Internet Trouble",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull trick",
        "dynamic programming"
      ],
      "tag_keys": [
        "cht",
        "dp"
      ],
      "tag_details": [
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "J",
      "problem_id": 13875,
      "problem_name": "Just in Time",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 1572,
      "problem_letter": "K",
      "problem_id": 13876,
      "problem_name": "Kill the Werewolf",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "A",
      "problem_id": 13877,
      "problem_name": "이건 무슨 진법이지?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "B",
      "problem_id": 13878,
      "problem_name": "FBI Universal Control Numbers",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "C",
      "problem_id": 13879,
      "problem_name": "m-ary Partitions",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "D",
      "problem_id": 13880,
      "problem_name": "A Rational Sequence (Take 3)",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "implementation",
        "recursion",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "recursion",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "E",
      "problem_id": 13881,
      "problem_name": "Permutation Descent Counts",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "F",
      "problem_id": 13882,
      "problem_name": "Tight-Fit Sudoku",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "G",
      "problem_id": 13883,
      "problem_name": "Magical Mystery Knight’s Tour",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1573,
      "problem_letter": "H",
      "problem_id": 13884,
      "problem_name": "삭삽 정렬",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1573,
      "problem_letter": "I",
      "problem_id": 13885,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1573,
      "problem_letter": "J",
      "problem_id": 13886,
      "problem_name": "Smoothed Gardens",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1574,
      "problem_letter": "A",
      "problem_id": 13888,
      "problem_name": "WSI Extreme",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "B",
      "problem_id": 13889,
      "problem_name": "Average",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "fermat's little theorem",
        "inclusion and exclusion",
        "mathematics",
        "number theory",
        "prefix sum"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "flt",
        "inclusion_and_exclusion",
        "math",
        "number_theory",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "C",
      "problem_id": 13890,
      "problem_name": "Big Bang",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "möbius inversion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "mobius_inversion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "D",
      "problem_id": 13891,
      "problem_name": "Find C",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "extended euclidean algorithm",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "extended_euclidean",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "E",
      "problem_id": 13892,
      "problem_name": "ACM Tax",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "lowest common ancestor",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "lca",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "F",
      "problem_id": 13893,
      "problem_name": "Dictionary Game",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "string",
        "tree",
        "game theory",
        "trie",
        "sprague–grundy theorem",
        "hackenbush"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "game_theory",
        "trie",
        "sprague_grundy",
        "hackenbush"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        },
        {
          "key": "hackenbush",
          "name": "hackenbush",
          "boj_tag_id": 205
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "G",
      "problem_id": 13894,
      "problem_name": "Binary Strings",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "exponentiation by squaring",
        "linear algebra",
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "linear_algebra",
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "H",
      "problem_id": 13895,
      "problem_name": "Witcher Potion",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "I",
      "problem_id": 13896,
      "problem_name": "Sky Tax",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "J",
      "problem_id": 13897,
      "problem_name": "Printing Press",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "maximum flow",
        "linear programming",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "linear_programming",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1574,
      "problem_letter": "K",
      "problem_id": 13898,
      "problem_name": "Expected Number of Connected Components",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1574,
      "problem_letter": "L",
      "problem_id": 13899,
      "problem_name": "Coordinates",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1575,
      "problem_letter": "A",
      "problem_id": 13914,
      "problem_name": "Aerial Archeology",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1575,
      "problem_letter": "B",
      "problem_id": 13915,
      "problem_name": "Hot Air Ballooning",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bitmask",
        "data structures",
        "set / map by hashing",
        "sorting",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "bitmask",
        "data_structures",
        "hash_set",
        "sorting",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1575,
      "problem_letter": "C",
      "problem_id": 13916,
      "problem_name": "Cable Connection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1575,
      "problem_letter": "D",
      "problem_id": 13917,
      "problem_name": "Rotating Display",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1575,
      "problem_letter": "F",
      "problem_id": 13918,
      "problem_name": "Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1575,
      "problem_letter": "H",
      "problem_id": 13919,
      "problem_name": "Tree Stands",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1575,
      "problem_letter": "O",
      "problem_id": 13920,
      "problem_name": "Orchard Division",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sweeping"
      ],
      "tag_keys": [
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1575,
      "problem_letter": "R",
      "problem_id": 13921,
      "problem_name": "It’s Raining, Man",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1575,
      "problem_letter": "S",
      "problem_id": 13922,
      "problem_name": "Suspicious Samples",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "set / map",
        "set / map by trees",
        "priority queue",
        "sliding window"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "tree_set",
        "priority_queue",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 1575,
      "problem_letter": "T",
      "problem_id": 13923,
      "problem_name": "오버워치 월드컵",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "A",
      "problem_id": 13928,
      "problem_name": "Arranging Hat",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "B",
      "problem_id": 13929,
      "problem_name": "British Menu",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "depth-first search",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "strongly connected component"
      ],
      "tag_keys": [
        "dfs",
        "dp",
        "graphs",
        "graph_traversal",
        "scc"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "C",
      "problem_id": 13930,
      "problem_name": "Careful Ascent",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "D",
      "problem_id": 13931,
      "problem_name": "Driving in Optimistan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1578,
      "problem_letter": "E",
      "problem_id": 13932,
      "problem_name": "Exam Redistribution",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "F",
      "problem_id": 13933,
      "problem_name": "Free Weights",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "binary search",
        "set / map",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "set",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "G",
      "problem_id": 13934,
      "problem_name": "Gotta Nudge ’Em All",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1578,
      "problem_letter": "H",
      "problem_id": 13935,
      "problem_name": "Hamiltonian Hypercube",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bitmask",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "I",
      "problem_id": 13936,
      "problem_name": "Iron and Coal",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "J",
      "problem_id": 13937,
      "problem_name": "Jupiter Orbiter",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "maximum flow",
        "greedy",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "greedy",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "K",
      "problem_id": 13938,
      "problem_name": "Kiwi Trees",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "PA",
      "problem_id": 20353,
      "problem_name": "Atrium",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "PB",
      "problem_id": 20354,
      "problem_name": "Blackboard Reconstruction",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "constructive",
        "dynamic programming",
        "graph theory",
        "knapsack"
      ],
      "tag_keys": [
        "constructive",
        "dp",
        "graphs",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1578,
      "problem_letter": "PC",
      "problem_id": 20355,
      "problem_name": "Caesar Word Salad",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "A",
      "problem_id": 13945,
      "problem_name": "Appearance Analysis",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "B",
      "problem_id": 13946,
      "problem_name": "Bipartite Blanket",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "hall's theorem"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "hall"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "C",
      "problem_id": 13947,
      "problem_name": "Convex Contour",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "case work",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "case_work",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "D",
      "problem_id": 13948,
      "problem_name": "Dancing Disks",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "E",
      "problem_id": 13949,
      "problem_name": "쉬운 문제",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "number theory",
        "breadth-first search",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "number_theory",
        "bfs",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "F",
      "problem_id": 13950,
      "problem_name": "Free Figurines",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "G",
      "problem_id": 13951,
      "problem_name": "Geohash Grid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1580,
      "problem_letter": "H",
      "problem_id": 13952,
      "problem_name": "Hangar Hurdles",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "binary search",
        "prefix sum",
        "disjoint set",
        "parallel binary search"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "binary_search",
        "prefix_sum",
        "disjoint_set",
        "pbs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "pbs",
          "name": "parallel binary search",
          "boj_tag_id": 54
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "I",
      "problem_id": 13953,
      "problem_name": "Invisible Integers",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "bitmask",
        "dynamic programming"
      ],
      "tag_keys": [
        "bitmask",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "J",
      "problem_id": 13954,
      "problem_name": "Jazz Journey",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "K",
      "problem_id": 13955,
      "problem_name": "Key Knocking",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1580,
      "problem_letter": "L",
      "problem_id": 13956,
      "problem_name": "Lost Logic",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "2-sat",
        "ad-hoc",
        "constructive",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "ad_hoc",
        "constructive",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "A",
      "problem_id": 13957,
      "problem_name": "Within Arm's Reach",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "B",
      "problem_id": 13958,
      "problem_name": "Bribing Eve",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "mathematics",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "math",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "C",
      "problem_id": 13959,
      "problem_name": "Candle Box",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "D",
      "problem_id": 13960,
      "problem_name": "Dinner Bet",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "E",
      "problem_id": 13961,
      "problem_name": "Passwords",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "aho-corasick",
        "data structures",
        "dynamic programming",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "data_structures",
        "dp",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "F",
      "problem_id": 13962,
      "problem_name": "Performance Review",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "euler tour technique",
        "segment tree",
        "sorting",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "euler_tour_technique",
        "segtree",
        "sorting",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "G",
      "problem_id": 13963,
      "problem_name": "Cairo Corridor",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "H",
      "problem_id": 13964,
      "problem_name": "Pascal's Hyper-Pyramids",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "set / map",
        "combinatorics",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "set",
        "combinatorics",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "I",
      "problem_id": 13965,
      "problem_name": "The White Rabbit Pocket Watch",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "gaussian elimination",
        "graph theory",
        "linear algebra",
        "mathematics",
        "shortest path"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "graphs",
        "linear_algebra",
        "math",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "J",
      "problem_id": 13966,
      "problem_name": "Risky Lottery",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "precomputation",
        "simulated annealing"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "precomputation",
        "simulated_annealing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "simulated_annealing",
          "name": "simulated annealing",
          "boj_tag_id": 184
        }
      ]
    },
    {
      "contest_id": 1581,
      "problem_letter": "K",
      "problem_id": 13967,
      "problem_name": "Balls and Needles",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "depth-first search",
        "disjoint set",
        "geometry",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "disjoint_set",
        "geometry",
        "graphs",
        "graph_traversal",
        "hash_set",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "A",
      "problem_id": 13741,
      "problem_name": "Alphabet",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "string",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "string",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "B",
      "problem_id": 13734,
      "problem_name": "Buggy Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "C",
      "problem_id": 13978,
      "problem_name": "Cameras",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sliding window"
      ],
      "tag_keys": [
        "greedy",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "D",
      "problem_id": 13979,
      "problem_name": "Contest Strategy",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "E",
      "problem_id": 13743,
      "problem_name": "Enclosure",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1583,
      "problem_letter": "F",
      "problem_id": 13744,
      "problem_name": "Illumination",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "G",
      "problem_id": 13980,
      "problem_name": "Maximum Islands",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "H",
      "problem_id": 13747,
      "problem_name": "Paint",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "data structures"
      ],
      "tag_keys": [
        "dp",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "I",
      "problem_id": 13981,
      "problem_name": "Postman",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "J",
      "problem_id": 13982,
      "problem_name": "Shopping",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "binary search",
        "offline queries",
        "sparse table",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "binary_search",
        "offline_queries",
        "sparse_table",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "K",
      "problem_id": 13983,
      "problem_name": "Tournament Wins",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1583,
      "problem_letter": "L",
      "problem_id": 13740,
      "problem_name": "Windy Path",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "constructive",
        "geometry",
        "greedy"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "geometry",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "M",
      "problem_id": 13741,
      "problem_name": "Alphabet",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "string",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "string",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "N",
      "problem_id": 13751,
      "problem_name": "Barbells",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "O",
      "problem_id": 13734,
      "problem_name": "Buggy Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "P",
      "problem_id": 13978,
      "problem_name": "Cameras",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sliding window"
      ],
      "tag_keys": [
        "greedy",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "Q",
      "problem_id": 13984,
      "problem_name": "Contest Score",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "R",
      "problem_id": 13985,
      "problem_name": "Equality",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "S",
      "problem_id": 13986,
      "problem_name": "Gravity",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "T",
      "problem_id": 13746,
      "problem_name": "Islands",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "U",
      "problem_id": 13754,
      "problem_name": "Mismatched Socks",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "V",
      "problem_id": 13981,
      "problem_name": "Postman",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "W",
      "problem_id": 13987,
      "problem_name": "Six Sides",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "X",
      "problem_id": 14418,
      "problem_name": "Three Square",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1584,
      "problem_letter": "Y",
      "problem_id": 13750,
      "problem_name": "Zigzag",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "A",
      "problem_id": 13989,
      "problem_name": "Abbreviation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "B",
      "problem_id": 13990,
      "problem_name": "Binary Code",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "2-sat",
        "data structures",
        "graph theory",
        "strongly connected component",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "2_sat",
        "data_structures",
        "graphs",
        "scc",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "C",
      "problem_id": 13991,
      "problem_name": "Cactus Construction",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "cactus",
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "cactus",
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "D",
      "problem_id": 13992,
      "problem_name": "Delight for a Cat",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "E",
      "problem_id": 13993,
      "problem_name": "Expect to Wait",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "sweeping",
        "offline queries"
      ],
      "tag_keys": [
        "binary_search",
        "sweeping",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "F",
      "problem_id": 13994,
      "problem_name": "Foreign Postcards",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics",
        "prefix sum",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "prefix_sum",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "G",
      "problem_id": 13995,
      "problem_name": "Game on Graph",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "depth-first search",
        "game theory",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dfs",
        "game_theory",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "H",
      "problem_id": 13996,
      "problem_name": "Hard Refactoring",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "I",
      "problem_id": 13997,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1585,
      "problem_letter": "J",
      "problem_id": 13998,
      "problem_name": "Jenga Boom",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "physics",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "physics",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "K",
      "problem_id": 13999,
      "problem_name": "Kids Designing Kids",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "L",
      "problem_id": 14000,
      "problem_name": "List of Primes",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "primality test",
        "recursion",
        "traceback"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "primality_test",
        "recursion",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1585,
      "problem_letter": "M",
      "problem_id": 14001,
      "problem_name": "Mole Tunnels",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "tree",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "trees",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "A",
      "problem_id": 14063,
      "problem_name": "Blokada",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "maximum flow",
        "parametric search",
        "graph theory"
      ],
      "tag_keys": [
        "binary_search",
        "flow",
        "parametric_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "B",
      "problem_id": 14064,
      "problem_name": "Caki",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "C",
      "problem_id": 14065,
      "problem_name": "Gorivo",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "D",
      "problem_id": 14066,
      "problem_name": "Kocka",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "E",
      "problem_id": 14067,
      "problem_name": "Marica",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "prefix sum",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "F",
      "problem_id": 14068,
      "problem_name": "Ograda",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1596,
      "problem_letter": "G",
      "problem_id": 14069,
      "problem_name": "Pčele",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1596,
      "problem_letter": "H",
      "problem_id": 14070,
      "problem_name": "Roj",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1596,
      "problem_letter": "I",
      "problem_id": 14071,
      "problem_name": "Rudar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1596,
      "problem_letter": "J",
      "problem_id": 14072,
      "problem_name": "Vjerojatnost",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "implementation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1597,
      "problem_letter": "A",
      "problem_id": 14073,
      "problem_name": "Bitovni",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "dynamic programming",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1597,
      "problem_letter": "B",
      "problem_id": 14074,
      "problem_name": "Kratki",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "divide and conquer",
        "divide and conquer optimization",
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "divide_and_conquer_optimization",
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1597,
      "problem_letter": "C",
      "problem_id": 14075,
      "problem_name": "Luhn",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1597,
      "problem_letter": "D",
      "problem_id": 14076,
      "problem_name": "선인장 선물",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1597,
      "problem_letter": "E",
      "problem_id": 14077,
      "problem_name": "Parada",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1597,
      "problem_letter": "F",
      "problem_id": 14078,
      "problem_name": "Piramida",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1597,
      "problem_letter": "G",
      "problem_id": 14079,
      "problem_name": "R9K",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1597,
      "problem_letter": "H",
      "problem_id": 14080,
      "problem_name": "Sjeckanje",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1597,
      "problem_letter": "I",
      "problem_id": 14081,
      "problem_name": "Slika",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1597,
      "problem_letter": "J",
      "problem_id": 14082,
      "problem_name": "Tablica",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1598,
      "problem_letter": "A",
      "problem_id": 14083,
      "problem_name": "Bitstock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1598,
      "problem_letter": "B",
      "problem_id": 14084,
      "problem_name": "Četverokut",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 1598,
      "problem_letter": "C",
      "problem_id": 14085,
      "problem_name": "Dvaput",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "string",
        "two-pointer"
      ],
      "tag_keys": [
        "string",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1598,
      "problem_letter": "D",
      "problem_id": 14086,
      "problem_name": "Hyperloop",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1598,
      "problem_letter": "E",
      "problem_id": 14087,
      "problem_name": "Lijepi Putevi",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "graph traversal",
        "sorting",
        "breadth-first search",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "graph_traversal",
        "sorting",
        "bfs",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1598,
      "problem_letter": "F",
      "problem_id": 14088,
      "problem_name": "Parket",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1598,
      "problem_letter": "G",
      "problem_id": 14089,
      "problem_name": "Prosjek",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1598,
      "problem_letter": "H",
      "problem_id": 14090,
      "problem_name": "RAM",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1598,
      "problem_letter": "I",
      "problem_id": 14091,
      "problem_name": "Šetnja",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "recursion"
      ],
      "tag_keys": [
        "recursion"
      ],
      "tag_details": [
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1599,
      "problem_letter": "A",
      "problem_id": 14092,
      "problem_name": "Jabuka",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1599,
      "problem_letter": "B",
      "problem_id": 14093,
      "problem_name": "Lektire",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1599,
      "problem_letter": "C",
      "problem_id": 14094,
      "problem_name": "Magija",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "case work",
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "case_work",
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1599,
      "problem_letter": "D",
      "problem_id": 14095,
      "problem_name": "Novčicći",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1599,
      "problem_letter": "E",
      "problem_id": 14096,
      "problem_name": "Pečat",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1599,
      "problem_letter": "F",
      "problem_id": 14097,
      "problem_name": "Sort",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1599,
      "problem_letter": "G",
      "problem_id": 14098,
      "problem_name": "Tunel",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1599,
      "problem_letter": "H",
      "problem_id": 14099,
      "problem_name": "Velika Tablica",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1599,
      "problem_letter": "I",
      "problem_id": 14100,
      "problem_name": "XOR",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "gaussian elimination",
        "graph theory",
        "graph traversal",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "graphs",
        "graph_traversal",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1600,
      "problem_letter": "A",
      "problem_id": 14101,
      "problem_name": "Arhimed",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "geometry",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 1600,
      "problem_letter": "B",
      "problem_id": 14102,
      "problem_name": "Formula",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1600,
      "problem_letter": "C",
      "problem_id": 14103,
      "problem_name": "Haker",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1600,
      "problem_letter": "D",
      "problem_id": 14104,
      "problem_name": "HNL",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "sorting",
        "set / map",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "sorting",
        "set",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1600,
      "problem_letter": "E",
      "problem_id": 14105,
      "problem_name": "Ivo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1600,
      "problem_letter": "F",
      "problem_id": 14106,
      "problem_name": "Mnogokut",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1600,
      "problem_letter": "G",
      "problem_id": 14107,
      "problem_name": "Sort",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1600,
      "problem_letter": "H",
      "problem_id": 14108,
      "problem_name": "Umnozak",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "combinatorics",
        "precomputation",
        "meet in the middle"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "precomputation",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1600,
      "problem_letter": "I",
      "problem_id": 14109,
      "problem_name": "Zvonimir",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1601,
      "problem_letter": "A",
      "problem_id": 14110,
      "problem_name": "Agresor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1601,
      "problem_letter": "B",
      "problem_id": 14111,
      "problem_name": "Kreditna",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1601,
      "problem_letter": "C",
      "problem_id": 14112,
      "problem_name": "Kvadrati",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1601,
      "problem_letter": "D",
      "problem_id": 14113,
      "problem_name": "Lubenice",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1601,
      "problem_letter": "E",
      "problem_id": 14114,
      "problem_name": "Matematika",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "two-pointer"
      ],
      "tag_keys": [
        "math",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1601,
      "problem_letter": "F",
      "problem_id": 14115,
      "problem_name": "Permutacije",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1601,
      "problem_letter": "G",
      "problem_id": 14116,
      "problem_name": "Restorani",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1601,
      "problem_letter": "H",
      "problem_id": 14117,
      "problem_name": "Tartufi",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1601,
      "problem_letter": "I",
      "problem_id": 14118,
      "problem_name": "Virus",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "convex hull",
        "geometry",
        "geometry; 3d",
        "half plane intersection",
        "linear algebra",
        "line segment intersection check",
        "mathematics"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry",
        "geometry_3d",
        "half_plane_intersection",
        "linear_algebra",
        "line_intersection",
        "math"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1602,
      "problem_letter": "A",
      "problem_id": 14119,
      "problem_name": "Anadrom",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1602,
      "problem_letter": "B",
      "problem_id": 14120,
      "problem_name": "Banane",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "ad-hoc",
        "geometry",
        "set / map",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "ad_hoc",
        "geometry",
        "set",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1602,
      "problem_letter": "C",
      "problem_id": 14121,
      "problem_name": "Haker",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "constructive",
        "greedy",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "constructive",
        "greedy",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1602,
      "problem_letter": "D",
      "problem_id": 14122,
      "problem_name": "Izlet",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1602,
      "problem_letter": "E",
      "problem_id": 14123,
      "problem_name": "Struja",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1602,
      "problem_letter": "F",
      "problem_id": 14124,
      "problem_name": "Telefon",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1602,
      "problem_letter": "G",
      "problem_id": 14125,
      "problem_name": "삼트리스",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1602,
      "problem_letter": "H",
      "problem_id": 14126,
      "problem_name": "Vanzemaljci",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1602,
      "problem_letter": "I",
      "problem_id": 14127,
      "problem_name": "Zone",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1603,
      "problem_letter": "A",
      "problem_id": 14128,
      "problem_name": "Duzžine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1603,
      "problem_letter": "B",
      "problem_id": 14129,
      "problem_name": "Kugle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1603,
      "problem_letter": "C",
      "problem_id": 14130,
      "problem_name": "Mravi",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1603,
      "problem_letter": "D",
      "problem_id": 14131,
      "problem_name": "Okret",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "tree",
        "splay tree"
      ],
      "tag_keys": [
        "trees",
        "splay_tree"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        }
      ]
    },
    {
      "contest_id": 1603,
      "problem_letter": "E",
      "problem_id": 14132,
      "problem_name": "Šibice",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1603,
      "problem_letter": "F",
      "problem_id": 14133,
      "problem_name": "Sličice",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1603,
      "problem_letter": "G",
      "problem_id": 14134,
      "problem_name": "Sretan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1603,
      "problem_letter": "H",
      "problem_id": 14135,
      "problem_name": "Trokut",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1603,
      "problem_letter": "I",
      "problem_id": 14136,
      "problem_name": "Višekratnici",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "A",
      "problem_id": 14137,
      "problem_name": "Ćevapi",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "B",
      "problem_id": 14138,
      "problem_name": "Filtar",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "C",
      "problem_id": 14139,
      "problem_name": "Izviðači",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "euler tour technique",
        "lowest common ancestor",
        "segment tree",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "euler_tour_technique",
        "lca",
        "segtree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "D",
      "problem_id": 14140,
      "problem_name": "Lunapark",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "E",
      "problem_id": 14141,
      "problem_name": "Majstor",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "binary_search",
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "F",
      "problem_id": 14142,
      "problem_name": "Maxplus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1604,
      "problem_letter": "G",
      "problem_id": 14143,
      "problem_name": "Škola",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "persistent segment tree",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "pst",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "H",
      "problem_id": 14144,
      "problem_name": "Žabe",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "inclusion and exclusion",
        "mathematics",
        "number theory",
        "parametric search"
      ],
      "tag_keys": [
        "inclusion_and_exclusion",
        "math",
        "number_theory",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1604,
      "problem_letter": "I",
      "problem_id": 14145,
      "problem_name": "Žetva",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 1605,
      "problem_letter": "A",
      "problem_id": 14146,
      "problem_name": "Bomboni",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1605,
      "problem_letter": "B",
      "problem_id": 14147,
      "problem_name": "Ceste",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1605,
      "problem_letter": "C",
      "problem_id": 14148,
      "problem_name": "Čestice",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1605,
      "problem_letter": "D",
      "problem_id": 14149,
      "problem_name": "Igra",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1605,
      "problem_letter": "E",
      "problem_id": 14150,
      "problem_name": "Prekidač",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1605,
      "problem_letter": "F",
      "problem_id": 14151,
      "problem_name": "Riva",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1605,
      "problem_letter": "G",
      "problem_id": 14152,
      "problem_name": "RSA",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "ad-hoc",
        "number theory",
        "bitmask",
        "primality test",
        "dynamic programming using bitfield",
        "prime factorization",
        "meet in the middle",
        "miller–rabin",
        "pollard rho"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "ad_hoc",
        "number_theory",
        "bitmask",
        "primality_test",
        "dp_bitfield",
        "prime_factorization",
        "mitm",
        "miller_rabin",
        "pollard_rho"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        }
      ]
    },
    {
      "contest_id": 1605,
      "problem_letter": "H",
      "problem_id": 14153,
      "problem_name": "Trokut",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1605,
      "problem_letter": "I",
      "problem_id": 14154,
      "problem_name": "Zmija",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "deque"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "deque"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "A",
      "problem_id": 14155,
      "problem_name": "Arhitekt",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "offline queries",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "offline_queries",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "B",
      "problem_id": 14156,
      "problem_name": "Binarni",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "constructive",
        "bitmask"
      ],
      "tag_keys": [
        "constructive",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "C",
      "problem_id": 14157,
      "problem_name": "Čuvar",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "D",
      "problem_id": 14158,
      "problem_name": "Kalendar",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "E",
      "problem_id": 14159,
      "problem_name": "Kemija",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1606,
      "problem_letter": "F",
      "problem_id": 14160,
      "problem_name": "Pekar",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "G",
      "problem_id": 14161,
      "problem_name": "Spoj",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "exponentiation by squaring",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "exponentiation_by_squaring",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "H",
      "problem_id": 14162,
      "problem_name": "Suma",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1606,
      "problem_letter": "I",
      "problem_id": 14163,
      "problem_name": "Torta",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1611,
      "problem_letter": "A",
      "problem_id": 14182,
      "problem_name": "Tax",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "B",
      "problem_id": 14183,
      "problem_name": "Key Maker",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "C",
      "problem_id": 14184,
      "problem_name": "IOI 2017 Logo",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "D",
      "problem_id": 14185,
      "problem_name": "MicroRNA Ranking",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "directed acyclic graph",
        "data structures",
        "graph theory",
        "priority queue",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "data_structures",
        "graphs",
        "priority_queue",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "E",
      "problem_id": 14186,
      "problem_name": "Möbius Strip",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "F",
      "problem_id": 14187,
      "problem_name": "Expression",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "arithmetic",
        "parsing",
        "recursion",
        "arbitrary precision / big integers",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "arithmetic",
        "parsing",
        "recursion",
        "arbitrary_precision",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "G",
      "problem_id": 14188,
      "problem_name": "Elections",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "H",
      "problem_id": 14189,
      "problem_name": "Explosion at Cafebazaar",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "directed acyclic graph",
        "graph theory",
        "strongly connected component",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "graphs",
        "scc",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "I",
      "problem_id": 14190,
      "problem_name": "Linear Galaxy",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "J",
      "problem_id": 14191,
      "problem_name": "Rahyab",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1611,
      "problem_letter": "K",
      "problem_id": 14192,
      "problem_name": "Base Stations",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "two-pointer",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "two_pointer",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1611,
      "problem_letter": "L",
      "problem_id": 14193,
      "problem_name": "Skeletons",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "depth-first search",
        "strongly connected component"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "dfs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 1612,
      "problem_letter": "A",
      "problem_id": 14194,
      "problem_name": "Grades",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1612,
      "problem_letter": "B",
      "problem_id": 14195,
      "problem_name": "DotB",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1612,
      "problem_letter": "C",
      "problem_id": 14196,
      "problem_name": "Sticks and Carrots(Chomagh va Havij)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1612,
      "problem_letter": "D",
      "problem_id": 14197,
      "problem_name": "Son of Durin",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1612,
      "problem_letter": "E",
      "problem_id": 14198,
      "problem_name": "Halting Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1612,
      "problem_letter": "F",
      "problem_id": 14199,
      "problem_name": "“Oland must not fall”",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1612,
      "problem_letter": "G",
      "problem_id": 14200,
      "problem_name": "Circular Board Game",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1612,
      "problem_letter": "H",
      "problem_id": 14201,
      "problem_name": "Blocks&Balls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1612,
      "problem_letter": "I",
      "problem_id": 14202,
      "problem_name": "Minions and the rooms",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "combinatorics",
        "data structures",
        "fast fourier transform",
        "segment tree with lazy propagation",
        "mathematics",
        "segment tree"
      ],
      "tag_keys": [
        "combinatorics",
        "data_structures",
        "fft",
        "lazyprop",
        "math",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1612,
      "problem_letter": "J",
      "problem_id": 14203,
      "problem_name": "Unlucky 89",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1733,
      "problem_letter": "A",
      "problem_id": 14506,
      "problem_name": "Pieces of Parentheses",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "B",
      "problem_id": 14507,
      "problem_name": "Stars in a Can",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "geometry",
        "convex hull",
        "geometry; 3d",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "geometry_3d",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "C",
      "problem_id": 14508,
      "problem_name": "Stretching Streamers",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "mathematics",
        "number theory",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "math",
        "number_theory",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "D",
      "problem_id": 14509,
      "problem_name": "Heaps from Trees",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "set / map",
        "smaller to larger technique",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "set",
        "smaller_to_larger",
        "lis"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "E",
      "problem_id": 14510,
      "problem_name": "Blazing New Trails",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "binary search",
        "minimum spanning tree",
        "aliens trick"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "mst",
        "alien"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "alien",
          "name": "aliens trick",
          "boj_tag_id": 134
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "F",
      "problem_id": 14511,
      "problem_name": "Incremental Double Free Strings",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "bruteforcing",
        "precomputation"
      ],
      "tag_keys": [
        "bruteforcing",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "G",
      "problem_id": 14512,
      "problem_name": "Apple Market",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1733,
      "problem_letter": "H",
      "problem_id": 14513,
      "problem_name": "Maximum Color Clique",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "I",
      "problem_id": 14514,
      "problem_name": "Ski Resort",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "implementation",
        "dynamic programming",
        "tree",
        "tree compression",
        "dominator tree"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "trees",
        "tree_compression",
        "dominator_tree"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_compression",
          "name": "tree compression",
          "boj_tag_id": 193
        },
        {
          "key": "dominator_tree",
          "name": "dominator tree",
          "boj_tag_id": 135
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "J",
      "problem_id": 14515,
      "problem_name": "Yin and Yang Stones",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1733,
      "problem_letter": "K",
      "problem_id": 14516,
      "problem_name": "Unbalanced Parentheses",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "greedy",
        "set / map by hashing",
        "prefix sum",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "hash_set",
        "prefix_sum",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "A",
      "problem_id": 14533,
      "problem_name": "Financial Tsunami",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1739,
      "problem_letter": "B",
      "problem_id": 14534,
      "problem_name": "String Permutation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "C",
      "problem_id": 14535,
      "problem_name": "Birthday Graph",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "D",
      "problem_id": 14536,
      "problem_name": "Bricks on the Wall",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "E",
      "problem_id": 14537,
      "problem_name": "Street Light Pole",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1739,
      "problem_letter": "F",
      "problem_id": 14538,
      "problem_name": "Connectivity Potential",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "G",
      "problem_id": 14539,
      "problem_name": "Grid Pattern",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "H",
      "problem_id": 14540,
      "problem_name": "Railway Station",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "I",
      "problem_id": 14541,
      "problem_name": "Speed Limit",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1739,
      "problem_letter": "J",
      "problem_id": 14542,
      "problem_name": "Outer Triangle Sum",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "A",
      "problem_id": 14543,
      "problem_name": "Linear Equation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "string",
        "parsing",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "string",
        "parsing",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "B",
      "problem_id": 14544,
      "problem_name": "Vote",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "C",
      "problem_id": 14545,
      "problem_name": "Square",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "D",
      "problem_id": 14546,
      "problem_name": "Prison Break",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "E",
      "problem_id": 14547,
      "problem_name": "X X glued",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "F",
      "problem_id": 14548,
      "problem_name": "The fastest road to banikoara",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "data structures",
        "set / map",
        "shortest path",
        "set / map by hashing",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "set",
        "shortest_path",
        "hash_set",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "G",
      "problem_id": 14549,
      "problem_name": "The Triangle Game",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1740,
      "problem_letter": "H",
      "problem_id": 14550,
      "problem_name": "마리오 파티",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "A",
      "problem_id": 14633,
      "problem_name": "Airport Construction",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bruteforcing",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "B",
      "problem_id": 14634,
      "problem_name": "Get a Clue!",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "C",
      "problem_id": 14635,
      "problem_name": "Mission Improbable",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "D",
      "problem_id": 14636,
      "problem_name": "Money for Nothing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "geometry",
        "divide and conquer",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "divide_and_conquer",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "E",
      "problem_id": 14637,
      "problem_name": "Need for Speed",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "F",
      "problem_id": 14638,
      "problem_name": "Posterize",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "G",
      "problem_id": 14639,
      "problem_name": "Replicate Replicate Rfplicbte",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "H",
      "problem_id": 14640,
      "problem_name": "Scenery",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "I",
      "problem_id": 14641,
      "problem_name": "Secret Chamber at Mount Rushmore",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "J",
      "problem_id": 14642,
      "problem_name": "Son of Pipe Stream",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "binary search",
        "calculus",
        "maximum flow",
        "implementation",
        "mathematics",
        "graph theory"
      ],
      "tag_keys": [
        "binary_search",
        "calculus",
        "flow",
        "implementation",
        "math",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "K",
      "problem_id": 14643,
      "problem_name": "Tarot Sham Boast",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "math",
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1747,
      "problem_letter": "L",
      "problem_id": 14644,
      "problem_name": "Visual Python++",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "greedy",
        "sweeping"
      ],
      "tag_keys": [
        "greedy",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "A",
      "problem_id": 14746,
      "problem_name": "Closest Pair",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "sorting",
        "binary search",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "B",
      "problem_id": 14747,
      "problem_name": "Cycle Mean",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "bellman–ford"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "bellman_ford"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "C",
      "problem_id": 14748,
      "problem_name": "Flow Graph Complexity",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "case work",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "case_work",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "D",
      "problem_id": 14749,
      "problem_name": "Grasshopper Route",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "constructive",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "constructive",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "E",
      "problem_id": 14750,
      "problem_name": "Jerry and Tom",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "geometry",
        "maximum flow",
        "line segment intersection check"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "flow",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "F",
      "problem_id": 14751,
      "problem_name": "Leftmost Segment",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "binary search",
        "convex hull",
        "convex hull trick"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "convex_hull",
        "cht"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "G",
      "problem_id": 14752,
      "problem_name": "Map Labeling",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "H",
      "problem_id": 14753,
      "problem_name": "MultiMax",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "sorting",
        "case work"
      ],
      "tag_keys": [
        "sorting",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "I",
      "problem_id": 14754,
      "problem_name": "Pizza Boxes",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "J",
      "problem_id": 14755,
      "problem_name": "Pseudoknot",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "string",
        "binary search",
        "sparse table",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "binary_search",
        "sparse_table",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "K",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1758,
      "problem_letter": "L",
      "problem_id": 14756,
      "problem_name": "Telescope",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "A",
      "problem_id": 4781,
      "problem_name": "사탕 가게",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "B",
      "problem_id": 4699,
      "problem_name": "Collision Detection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1760,
      "problem_letter": "C",
      "problem_id": 4782,
      "problem_name": "분수 뺄셈",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "D",
      "problem_id": 14757,
      "problem_name": "Dueling Philosophers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "E",
      "problem_id": 14758,
      "problem_name": "Paint Me",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "arithmetic",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "arithmetic",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "F",
      "problem_id": 14759,
      "problem_name": "Party Games",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "G",
      "problem_id": 14760,
      "problem_name": "Reverse Nonogram",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "H",
      "problem_id": 4704,
      "problem_name": "Tsunami",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "sorting",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "sorting",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "I",
      "problem_id": 4784,
      "problem_name": "Unhappy Numbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1760,
      "problem_letter": "J",
      "problem_id": 4785,
      "problem_name": "Walls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1761,
      "problem_letter": "A",
      "problem_id": 14761,
      "problem_name": "FizzBuzz",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "B",
      "problem_id": 14762,
      "problem_name": "Election",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "C",
      "problem_id": 14763,
      "problem_name": "Password Hacking",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "D",
      "problem_id": 14764,
      "problem_name": "Delivering Goods",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bipartite_matching",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "E",
      "problem_id": 14765,
      "problem_name": "Studying For Exams",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "F",
      "problem_id": 14766,
      "problem_name": "Bumper-To-Bumper Traffic",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "G",
      "problem_id": 14767,
      "problem_name": "Flow Shop",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "dynamic programming"
      ],
      "tag_keys": [
        "implementation",
        "dp"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "H",
      "problem_id": 14768,
      "problem_name": "Nice Numbers",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "I",
      "problem_id": 14769,
      "problem_name": "Stacking Cups",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1761,
      "problem_letter": "J",
      "problem_id": 14770,
      "problem_name": "Stack Construction",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "A",
      "problem_id": 14951,
      "problem_name": "Broadcast Stations",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "B",
      "problem_id": 14952,
      "problem_name": "Connect3",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "bruteforcing",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "C",
      "problem_id": 14953,
      "problem_name": "Game Map",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "D",
      "problem_id": 14954,
      "problem_name": "Happy Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "E",
      "problem_id": 14955,
      "problem_name": "How Many to Be Happy?",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum spanning tree",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mst",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "F",
      "problem_id": 14956,
      "problem_name": "Philosopher’s Walk",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "G",
      "problem_id": 14957,
      "problem_name": "Rectilinear Regions",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "H",
      "problem_id": 14958,
      "problem_name": "Rock Paper Scissors",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "I",
      "problem_id": 14959,
      "problem_name": "Slot Machines",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "J",
      "problem_id": 14960,
      "problem_name": "Strongly Matchable",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem",
        "hall's theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc",
        "hall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "K",
      "problem_id": 14961,
      "problem_name": "Untangling Chain",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1778,
      "problem_letter": "L",
      "problem_id": 14962,
      "problem_name": "Vacation Plans",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "A",
      "problem_id": 14969,
      "problem_name": "Taro's Shopping",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "B",
      "problem_id": 14970,
      "problem_name": "Almost Identical Programs",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "C",
      "problem_id": 14971,
      "problem_name": "A Garden with Ponds",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "D",
      "problem_id": 14972,
      "problem_name": "Making Lunch Boxes",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bitmask",
        "bruteforcing",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "E",
      "problem_id": 14973,
      "problem_name": "Boolean Expression Compressor",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "implementation",
        "parsing",
        "precomputation",
        "string"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "parsing",
        "precomputation",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "F",
      "problem_id": 14974,
      "problem_name": "Folding a Ribbon",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "G",
      "problem_id": 14975,
      "problem_name": "Go around the Labyrinth",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "biconnected component",
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "bcc",
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1780,
      "problem_letter": "H",
      "problem_id": 14976,
      "problem_name": "Equivalent Deformation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1781,
      "problem_letter": "A",
      "problem_id": 14977,
      "problem_name": "Amusement Anticipation",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "C",
      "problem_id": 14978,
      "problem_name": "Pond Cascade",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "D",
      "problem_id": 14979,
      "problem_name": "Chessboard Dancing",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "E",
      "problem_id": 14980,
      "problem_name": "Equinox Roller Coaster",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "bruteforcing",
        "sorting",
        "set / map",
        "set / map by hashing",
        "set / map by trees",
        "square root decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "sorting",
        "set",
        "hash_set",
        "tree_set",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "F",
      "problem_id": 14981,
      "problem_name": "Forest Picture",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "G",
      "problem_id": 14982,
      "problem_name": "Shooting Gallery",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "I",
      "problem_id": 14983,
      "problem_name": "Ice cream samples",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "two-pointer"
      ],
      "tag_keys": [
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "M",
      "problem_id": 14984,
      "problem_name": "Dark Ride with Monsters",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "greedy",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "N",
      "problem_id": 14985,
      "problem_name": "Go Northwest!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "data structures",
        "sorting",
        "set / map",
        "combinatorics",
        "set / map by hashing",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "sorting",
        "set",
        "combinatorics",
        "hash_set",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "P",
      "problem_id": 14986,
      "problem_name": "Punching Power",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1781,
      "problem_letter": "W",
      "problem_id": 14987,
      "problem_name": "Treetop Walkway",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1782,
      "problem_letter": "A",
      "problem_id": 14988,
      "problem_name": "Abandoned Animal",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "set / map by hashing",
        "stack",
        "queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "hash_set",
        "stack",
        "queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "B",
      "problem_id": 14989,
      "problem_name": "Booming Business",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "C",
      "problem_id": 14990,
      "problem_name": "Crowd Control",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "binary search",
        "data structures",
        "depth-first search",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "dfs",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "mst"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "D",
      "problem_id": 14991,
      "problem_name": "Disastrous Doubling",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "E",
      "problem_id": 14992,
      "problem_name": "Envious Exponents",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "F",
      "problem_id": 14993,
      "problem_name": "Flatland Fidget Spinner",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "G",
      "problem_id": 14994,
      "problem_name": "Ghostbusters",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "H",
      "problem_id": 14995,
      "problem_name": "Horror Film Night",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "I",
      "problem_id": 14996,
      "problem_name": "Intelligence Infection",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1782,
      "problem_letter": "J",
      "problem_id": 14997,
      "problem_name": "Journal Editing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "K",
      "problem_id": 14998,
      "problem_name": "Knight’s Marathon",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "case work",
        "graph theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "L",
      "problem_id": 14999,
      "problem_name": "Leapfrog",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "chinese remainder theorem",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "crt",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "X",
      "problem_id": 15000,
      "problem_name": "CAPS",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "Y",
      "problem_id": 15001,
      "problem_name": "Frog Leaps",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1782,
      "problem_letter": "Z",
      "problem_id": 15002,
      "problem_name": "Soccer Skills",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "A",
      "problem_id": 15003,
      "problem_name": "Amsterdam Distance",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "B",
      "problem_id": 15004,
      "problem_name": "Bearly Made It",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "implementation",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "C",
      "problem_id": 15005,
      "problem_name": "Collatz Conjecture",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "set / map"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "D",
      "problem_id": 15006,
      "problem_name": "Detour",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "E",
      "problem_id": 15007,
      "problem_name": "Easter Eggs",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "parametric search",
        "bipartite matching"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "F",
      "problem_id": 15008,
      "problem_name": "Falling Apart",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "G",
      "problem_id": 15009,
      "problem_name": "Going Dutch",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "H",
      "problem_id": 15010,
      "problem_name": "Hoarse Horses",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "euler characteristic (χ=v-e+f)",
        "geometry",
        "graph theory",
        "line segment intersection check",
        "planar graph"
      ],
      "tag_keys": [
        "euler_characteristic",
        "geometry",
        "graphs",
        "line_intersection",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "I",
      "problem_id": 15011,
      "problem_name": "Irrational Division",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "greedy",
        "case work",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "case_work",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "J",
      "problem_id": 15012,
      "problem_name": "Jumping Choreography",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "K",
      "problem_id": 15013,
      "problem_name": "King of the Waves",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "constructive",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "constructive",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "L",
      "problem_id": 15014,
      "problem_name": "Lemonade Trade",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1783,
      "problem_letter": "M",
      "problem_id": 15015,
      "problem_name": "Manhattan Mornings",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "sorting",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "sorting",
        "lis"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "A",
      "problem_id": 15016,
      "problem_name": "Airport Coffee",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "deque",
        "dynamic programming",
        "dynamic programming using a deque",
        "prefix sum",
        "two-pointer",
        "deque range maximum trick"
      ],
      "tag_keys": [
        "data_structures",
        "deque",
        "dp",
        "dp_deque",
        "prefix_sum",
        "two_pointer",
        "deque_trick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_deque",
          "name": "dynamic programming using a deque",
          "boj_tag_id": 108
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "deque_trick",
          "name": "deque range maximum trick",
          "boj_tag_id": 216
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "B",
      "problem_id": 15017,
      "problem_name": "Best Relay Team",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "C",
      "problem_id": 15018,
      "problem_name": "Compass Card Sales",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "implementation",
        "linked list",
        "priority queue",
        "simulation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "implementation",
        "linked_list",
        "priority_queue",
        "simulation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "D",
      "problem_id": 15019,
      "problem_name": "Distinctive Character",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bitmask"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "E",
      "problem_id": 15020,
      "problem_name": "Emptying the Baltic",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "shortest_path",
        "dijkstra",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "F",
      "problem_id": 15021,
      "problem_name": "Fractal Tree",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "case work",
        "lowest common ancestor",
        "recursion",
        "tree"
      ],
      "tag_keys": [
        "case_work",
        "lca",
        "recursion",
        "trees"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "G",
      "problem_id": 15022,
      "problem_name": "Galactic Collegiate Programming Contest",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "segment tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "H",
      "problem_id": 15023,
      "problem_name": "Hubtown",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bipartite matching",
        "geometry"
      ],
      "tag_keys": [
        "bipartite_matching",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "I",
      "problem_id": 15024,
      "problem_name": "Import Spaghetti",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "J",
      "problem_id": 15025,
      "problem_name": "Judging Moose",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1784,
      "problem_letter": "K",
      "problem_id": 15026,
      "problem_name": "Kayaking Trip",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "A",
      "problem_id": 15027,
      "problem_name": "Alien Sunset",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "B",
      "problem_id": 15028,
      "problem_name": "Breaking Biscuits",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "C",
      "problem_id": 15029,
      "problem_name": "Cued In",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "D",
      "problem_id": 15030,
      "problem_name": "Deranging Hat",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "E",
      "problem_id": 15031,
      "problem_name": "Education",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "traceback"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "F",
      "problem_id": 15032,
      "problem_name": "Flipping Coins",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "G",
      "problem_id": 15033,
      "problem_name": "GentleBots",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "constructive",
        "randomization"
      ],
      "tag_keys": [
        "greedy",
        "constructive",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "H",
      "problem_id": 15034,
      "problem_name": "Hiker Safety",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "I",
      "problem_id": 15035,
      "problem_name": "I Work All Day",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "J",
      "problem_id": 15036,
      "problem_name": "Just A Minim",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "K",
      "problem_id": 15037,
      "problem_name": "Knightsbridge Rises",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "greedy",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1785,
      "problem_letter": "L",
      "problem_id": 15038,
      "problem_name": "Lounge Lizards",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "longest increasing sequence problem",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "lis",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "A",
      "problem_id": 15039,
      "problem_name": "Acordes intergaláticos",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "B",
      "problem_id": 15040,
      "problem_name": "Brincadeira",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "bitmask",
        "bruteforcing",
        "implementation",
        "pigeonhole principle",
        "prefix sum",
        "simulation"
      ],
      "tag_keys": [
        "ad_hoc",
        "bitmask",
        "bruteforcing",
        "implementation",
        "pigeonhole_principle",
        "prefix_sum",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "C",
      "problem_id": 15041,
      "problem_name": "Cigarras periódicas",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "D",
      "problem_id": 15042,
      "problem_name": "Despojados",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "E",
      "problem_id": 15043,
      "problem_name": "Escala musical",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "F",
      "problem_id": 15044,
      "problem_name": "Fase",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "G",
      "problem_id": 15045,
      "problem_name": "Ginástica",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "H",
      "problem_id": 15046,
      "problem_name": "Hipercampo",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "I",
      "problem_id": 15047,
      "problem_name": "Imposto Real",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "J",
      "problem_id": 15048,
      "problem_name": "Jogo de Boca",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "game theory",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "game_theory",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "K",
      "problem_id": 15049,
      "problem_name": "K-ésimo",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "L",
      "problem_id": 15050,
      "problem_name": "Laboratório de biotecnologia",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "prefix sum",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "prefix_sum",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1786,
      "problem_letter": "M",
      "problem_id": 15051,
      "problem_name": "Máquina de café",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "A",
      "problem_id": 15052,
      "problem_name": "Arranging tiles",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "geometry",
        "ternary search",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "geometry",
        "ternary_search",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "B",
      "problem_id": 15053,
      "problem_name": "Buggy ICPC",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "C",
      "problem_id": 15054,
      "problem_name": "Complete Naebbirac’s sequence",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "D",
      "problem_id": 15055,
      "problem_name": "Daunting device",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "set / map by trees",
        "square root decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "tree_set",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "E",
      "problem_id": 15056,
      "problem_name": "Enigma",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "F",
      "problem_id": 15057,
      "problem_name": "Fundraising",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "G",
      "problem_id": 15058,
      "problem_name": "Gates of uncertainty",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "H",
      "problem_id": 15059,
      "problem_name": "Hard choice",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "I",
      "problem_id": 15060,
      "problem_name": "Imperial roads",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "tree",
        "minimum spanning tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "graphs",
        "trees",
        "mst",
        "lca"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "J",
      "problem_id": 15061,
      "problem_name": "Jumping Frog",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "euclidean algorithm",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "euclidean",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "K",
      "problem_id": 15062,
      "problem_name": "Keep it covered",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "L",
      "problem_id": 15063,
      "problem_name": "Linearville",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "case work",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1787,
      "problem_letter": "M",
      "problem_id": 15064,
      "problem_name": "Marblecoin",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "string",
        "set / map",
        "priority queue",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "string",
        "set",
        "priority_queue",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "A",
      "problem_id": 15069,
      "problem_name": "Bubbly Troubly",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1788,
      "problem_letter": "B",
      "problem_id": 15070,
      "problem_name": "Foosball Dynasty",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "deque",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "deque",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "C",
      "problem_id": 15071,
      "problem_name": "The Key to Cryptography",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "D",
      "problem_id": 15072,
      "problem_name": "Lost in Translation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "E",
      "problem_id": 15073,
      "problem_name": "Red Rover",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "F",
      "problem_id": 15074,
      "problem_name": "Removal Game",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "G",
      "problem_id": 15075,
      "problem_name": "That’s One Hanoi-ed Teacher",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "mathematics",
        "recursion",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "recursion",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "H",
      "problem_id": 15076,
      "problem_name": "Vin Diagrams",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "disjoint set",
        "flood-fill",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "flood_fill",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "I",
      "problem_id": 15077,
      "problem_name": "Waif Until Dark",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "J",
      "problem_id": 15078,
      "problem_name": "Yes, Yes, It’s Nonograms",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "PA",
      "problem_id": 15065,
      "problem_name": "Dinoscan",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "PB",
      "problem_id": 15066,
      "problem_name": "Happy Trails",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "PC",
      "problem_id": 15067,
      "problem_name": "Prime Driving Conditions",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1788,
      "problem_letter": "PD",
      "problem_id": 15068,
      "problem_name": "Time is of the Essence",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "A",
      "problem_id": 15085,
      "problem_name": "Abstract Art",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "line segment intersection check",
        "area of a polygon",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "polygon_area",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "B",
      "problem_id": 15086,
      "problem_name": "Craters",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "C",
      "problem_id": 15087,
      "problem_name": "DRM Messages",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "D",
      "problem_id": 15088,
      "problem_name": "Game of Throwns",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "simulation",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "simulation",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "E",
      "problem_id": 15089,
      "problem_name": "Is-A? Has-A? Who Knowz-A?",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "set / map",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "set",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "F",
      "problem_id": 15090,
      "problem_name": "Keeping On Track",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "combinatorics",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "combinatorics",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "G",
      "problem_id": 15091,
      "problem_name": "A Question of Ingestion",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "H",
      "problem_id": 15092,
      "problem_name": "Sheba’s Amoebas",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "I",
      "problem_id": 15093,
      "problem_name": "Twenty Four, Again",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "arithmetic",
        "bruteforcing",
        "dynamic programming",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "arithmetic",
        "bruteforcing",
        "dp",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "J",
      "problem_id": 15094,
      "problem_name": "Workout for a Dumbbell",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "PA",
      "problem_id": 15079,
      "problem_name": "Arggggggh!",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "PB",
      "problem_id": 15080,
      "problem_name": "Every Second Counts",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "PC",
      "problem_id": 15081,
      "problem_name": "Is Everybody Appy?",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "PD",
      "problem_id": 15082,
      "problem_name": "KaBlam!",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "geometry",
        "implementation",
        "physics"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "physics"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "PE",
      "problem_id": 15083,
      "problem_name": "Life Savings",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1789,
      "problem_letter": "PF",
      "problem_id": 15084,
      "problem_name": "Treating Fractions Irrationally",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "A",
      "problem_id": 15095,
      "problem_name": "Nine Knights",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "B",
      "problem_id": 15096,
      "problem_name": "Batter Up",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "C",
      "problem_id": 15097,
      "problem_name": "Ring String",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1790,
      "problem_letter": "D",
      "problem_id": 15098,
      "problem_name": "No Duplicates",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "E",
      "problem_id": 15099,
      "problem_name": "Honey Heist",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "F",
      "problem_id": 15100,
      "problem_name": "Orderly Class",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "G",
      "problem_id": 15101,
      "problem_name": "Faulty Robot",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "H",
      "problem_id": 15102,
      "problem_name": "Hopscotch",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "exponentiation by squaring",
        "fermat's little theorem",
        "mathematics",
        "modular multiplicative inverse",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "exponentiation_by_squaring",
        "flt",
        "math",
        "modular_multiplicative_inverse",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1790,
      "problem_letter": "I",
      "problem_id": 15103,
      "problem_name": "The Uncertainty of Politics",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "A",
      "problem_id": 15104,
      "problem_name": "Odd Palindrome",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "B",
      "problem_id": 15105,
      "problem_name": "Enlarging Enthusiasm",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "C",
      "problem_id": 15106,
      "problem_name": "Fear Factoring",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "D",
      "problem_id": 15107,
      "problem_name": "Rainbow Roads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "E",
      "problem_id": 15108,
      "problem_name": "Straight Shot",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "F",
      "problem_id": 15109,
      "problem_name": "Distinct Distances",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "G",
      "problem_id": 15110,
      "problem_name": "Security Badge",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "sweeping"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "H",
      "problem_id": 15111,
      "problem_name": "Avoiding Airports",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull trick",
        "dynamic programming"
      ],
      "tag_keys": [
        "cht",
        "dp"
      ],
      "tag_details": [
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "I",
      "problem_id": 15112,
      "problem_name": "Long Long Strings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "J",
      "problem_id": 15113,
      "problem_name": "Grid Coloring",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "K",
      "problem_id": 15114,
      "problem_name": "Spinning Up Palindromes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "L",
      "problem_id": 15115,
      "problem_name": "Delayed Work",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1791,
      "problem_letter": "M",
      "problem_id": 15116,
      "problem_name": "Unsatisfying",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "case work",
        "shortest path",
        "dijkstra's",
        "strongly connected component",
        "2-sat",
        "0-1 bfs"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "case_work",
        "shortest_path",
        "dijkstra",
        "scc",
        "2_sat",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "N",
      "problem_id": 15104,
      "problem_name": "Odd Palindrome",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "O",
      "problem_id": 15117,
      "problem_name": "Latin Squares",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "P",
      "problem_id": 15106,
      "problem_name": "Fear Factoring",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "Q",
      "problem_id": 15118,
      "problem_name": "Halfway",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "R",
      "problem_id": 15108,
      "problem_name": "Straight Shot",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "S",
      "problem_id": 15119,
      "problem_name": "Purple Rain",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "T",
      "problem_id": 15110,
      "problem_name": "Security Badge",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "sweeping"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "U",
      "problem_id": 15120,
      "problem_name": "Unloaded Die",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "greedy",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "V",
      "problem_id": 15112,
      "problem_name": "Long Long Strings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "W",
      "problem_id": 15113,
      "problem_name": "Grid Coloring",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "X",
      "problem_id": 15121,
      "problem_name": "Star Arrangements",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "Y",
      "problem_id": 15115,
      "problem_name": "Delayed Work",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1792,
      "problem_letter": "Z",
      "problem_id": 15122,
      "problem_name": "Forbidden Zero",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "A",
      "problem_id": 15123,
      "problem_name": "Ducks in a Row",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "B",
      "problem_id": 15105,
      "problem_name": "Enlarging Enthusiasm",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "C",
      "problem_id": 15124,
      "problem_name": "Flipping Out",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "aho-corasick",
        "binary search",
        "data structures",
        "knuth–morris–pratt",
        "parametric search",
        "string",
        "suffix array and lcp array",
        "suffix tree",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "binary_search",
        "data_structures",
        "kmp",
        "parametric_search",
        "string",
        "suffix_array",
        "suffix_tree",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "suffix_tree",
          "name": "suffix tree",
          "boj_tag_id": 182
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "D",
      "problem_id": 15125,
      "problem_name": "Jumping Haybales",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "dynamic programming",
        "priority queue",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "priority_queue",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "E",
      "problem_id": 15112,
      "problem_name": "Long Long Strings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "F",
      "problem_id": 15126,
      "problem_name": "Move Away",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "G",
      "problem_id": 15107,
      "problem_name": "Rainbow Roads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "H",
      "problem_id": 15110,
      "problem_name": "Security Badge",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "sweeping"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "I",
      "problem_id": 15121,
      "problem_name": "Star Arrangements",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "J",
      "problem_id": 15127,
      "problem_name": "Treasure Map",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1793,
      "problem_letter": "K",
      "problem_id": 15116,
      "problem_name": "Unsatisfying",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "case work",
        "shortest path",
        "dijkstra's",
        "strongly connected component",
        "2-sat",
        "0-1 bfs"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "case_work",
        "shortest_path",
        "dijkstra",
        "scc",
        "2_sat",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "A",
      "problem_id": 15128,
      "problem_name": "Congruent Numbers",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "B",
      "problem_id": 15120,
      "problem_name": "Unloaded Die",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "greedy",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "C",
      "problem_id": 15118,
      "problem_name": "Halfway",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "D",
      "problem_id": 15129,
      "problem_name": "Law 11",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "E",
      "problem_id": 15112,
      "problem_name": "Long Long Strings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "F",
      "problem_id": 15126,
      "problem_name": "Move Away",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "G",
      "problem_id": 15119,
      "problem_name": "Purple Rain",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "H",
      "problem_id": 15107,
      "problem_name": "Rainbow Roads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "I",
      "problem_id": 15130,
      "problem_name": "Arithmetic Sequences",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "J",
      "problem_id": 15121,
      "problem_name": "Star Arrangements",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1794,
      "problem_letter": "K",
      "problem_id": 15127,
      "problem_name": "Treasure Map",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "A",
      "problem_id": 15131,
      "problem_name": "Auxiliary Project",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "B",
      "problem_id": 15132,
      "problem_name": "Boolean Satisfiability",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "C",
      "problem_id": 15133,
      "problem_name": "Consonant Fencity",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "D",
      "problem_id": 15134,
      "problem_name": "Dividing Marbles",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "E",
      "problem_id": 15135,
      "problem_name": "Equal Numbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "F",
      "problem_id": 15136,
      "problem_name": "Fygon 2.0",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "floyd–warshall",
        "graph theory",
        "strongly connected component",
        "shortest path"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "floyd_warshall",
        "graphs",
        "scc",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "G",
      "problem_id": 15137,
      "problem_name": "Grand Test",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "biconnected component",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bcc",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "H",
      "problem_id": 15138,
      "problem_name": "Hidden Supervisors",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "I",
      "problem_id": 15139,
      "problem_name": "Intelligence in Perpendicularia",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "J",
      "problem_id": 15140,
      "problem_name": "Joker",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "binary search",
        "convex hull",
        "geometry",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "binary_search",
        "convex_hull",
        "geometry",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "K",
      "problem_id": 15141,
      "problem_name": "Kotlin Island",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1795,
      "problem_letter": "L",
      "problem_id": 15142,
      "problem_name": "Little Difference",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "A",
      "problem_id": 15143,
      "problem_name": "Atomic Mass",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "parsing",
        "regular expression"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set",
        "parsing",
        "regex"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "B",
      "problem_id": 15144,
      "problem_name": "Bake Off",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "bitmask"
      ],
      "tag_keys": [
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "C",
      "problem_id": 15145,
      "problem_name": "Clever Title",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1796,
      "problem_letter": "D",
      "problem_id": 15146,
      "problem_name": "Deck of Cards",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "game theory",
        "maximum flow",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "game_theory",
        "flow",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "E",
      "problem_id": 15147,
      "problem_name": "Extra Judicial Operation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1796,
      "problem_letter": "F",
      "problem_id": 15148,
      "problem_name": "Front Nine",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "geometry",
        "implementation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "geometry",
        "implementation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "G",
      "problem_id": 15149,
      "problem_name": "Greedy Generosity",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1796,
      "problem_letter": "H",
      "problem_id": 15150,
      "problem_name": "Hole in One",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1796,
      "problem_letter": "I",
      "problem_id": 15151,
      "problem_name": "Incomplete Book",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "J",
      "problem_id": 15152,
      "problem_name": "Jupiter Rock-Paper-Scissors",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1796,
      "problem_letter": "K",
      "problem_id": 15153,
      "problem_name": "Keeping Cool",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1796,
      "problem_letter": "L",
      "problem_id": 15154,
      "problem_name": "Lights in the Morning",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "A",
      "problem_id": 15155,
      "problem_name": "Analysis of Advanced Analytics",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "B",
      "problem_id": 15156,
      "problem_name": "Balloon Connect-the-Dots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1797,
      "problem_letter": "C",
      "problem_id": 15157,
      "problem_name": "Candy Sales",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "D",
      "problem_id": 15158,
      "problem_name": "Dangerous Discus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1797,
      "problem_letter": "E",
      "problem_id": 15159,
      "problem_name": "Exciting Startup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1797,
      "problem_letter": "F",
      "problem_id": 15160,
      "problem_name": "Fusion",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "G",
      "problem_id": 15161,
      "problem_name": "Grass Cutting",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "H",
      "problem_id": 15162,
      "problem_name": "Haggling With a Witcher",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1797,
      "problem_letter": "I",
      "problem_id": 15163,
      "problem_name": "Intuidiff",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "J",
      "problem_id": 15164,
      "problem_name": "Jousting Tournament",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1797,
      "problem_letter": "K",
      "problem_id": 15165,
      "problem_name": "Killer Sudoku",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1797,
      "problem_letter": "L",
      "problem_id": 15166,
      "problem_name": "Loading Cargo",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bipartite graph",
        "dynamic programming",
        "graph theory",
        "knapsack"
      ],
      "tag_keys": [
        "bipartite_graph",
        "dp",
        "graphs",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "A",
      "problem_id": 15167,
      "problem_name": "Anticlockwise Motion",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "B",
      "problem_id": 15168,
      "problem_name": "Balloon Warehouse",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "C",
      "problem_id": 15169,
      "problem_name": "Crazy Rotations",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "sorting",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "D",
      "problem_id": 15170,
      "problem_name": "Dendroctonus",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "E",
      "problem_id": 15171,
      "problem_name": "Election Frenzy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1798,
      "problem_letter": "F",
      "problem_id": 15172,
      "problem_name": "False Intelligence",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "G",
      "problem_id": 15173,
      "problem_name": "Graphics Design",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1798,
      "problem_letter": "H",
      "problem_id": 15174,
      "problem_name": "Hilbert’s Hash Browns",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "chinese remainder theorem",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "crt",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "I",
      "problem_id": 15175,
      "problem_name": "Intuidiff II",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "J",
      "problem_id": 15176,
      "problem_name": "Just Terraffic!",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1798,
      "problem_letter": "K",
      "problem_id": 15177,
      "problem_name": "Kiwis vs Kangaroos",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "A",
      "problem_id": 15178,
      "problem_name": "Angles",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "B",
      "problem_id": 15179,
      "problem_name": "Golf Croquet",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "C",
      "problem_id": 15180,
      "problem_name": "Fitness",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "D",
      "problem_id": 15181,
      "problem_name": "Beautiful Music",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "E",
      "problem_id": 15182,
      "problem_name": "Byte Me!",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "F",
      "problem_id": 15183,
      "problem_name": "Musical Chairs",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "G",
      "problem_id": 15184,
      "problem_name": "Letter Count",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "H",
      "problem_id": 15185,
      "problem_name": "League Tables",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "I",
      "problem_id": 15186,
      "problem_name": "Planes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1799,
      "problem_letter": "J",
      "problem_id": 15187,
      "problem_name": "Trees",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1799,
      "problem_letter": "K",
      "problem_id": 15188,
      "problem_name": "Packing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "L",
      "problem_id": 15189,
      "problem_name": "Domino Killing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1799,
      "problem_letter": "M",
      "problem_id": 15190,
      "problem_name": "Infinite Trees",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "ad-hoc",
        "disjoint set",
        "recursion"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "ad_hoc",
        "disjoint_set",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1799,
      "problem_letter": "N",
      "problem_id": 15191,
      "problem_name": "Competition Day",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1799,
      "problem_letter": "O",
      "problem_id": 15192,
      "problem_name": "School Pairing",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "set / map",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "A",
      "problem_id": 15193,
      "problem_name": "Asfalt",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "B",
      "problem_id": 15194,
      "problem_name": "Cod",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1800,
      "problem_letter": "C",
      "problem_id": 15195,
      "problem_name": "Kaktus",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "cactus",
        "dynamic programming",
        "graph theory",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "cactus",
        "dp",
        "graphs",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "D",
      "problem_id": 15196,
      "problem_name": "Kalendar",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "E",
      "problem_id": 15197,
      "problem_name": "Letovi",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "F",
      "problem_id": 15198,
      "problem_name": "NKD",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "G",
      "problem_id": 15199,
      "problem_name": "Ploča",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "disjoint set",
        "greedy"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "H",
      "problem_id": 15200,
      "problem_name": "Presjek",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry",
        "sweeping",
        "line segment intersection check",
        "difference array",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "sweeping",
        "line_intersection",
        "difference_array",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "I",
      "problem_id": 15201,
      "problem_name": "Sretan",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ternary search"
      ],
      "tag_keys": [
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1800,
      "problem_letter": "J",
      "problem_id": 15202,
      "problem_name": "Stablo",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "depth-first search",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "A",
      "problem_id": 15258,
      "problem_name": "Assignment Algorithm",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "B",
      "problem_id": 15259,
      "problem_name": "Buffalo Barricades",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "data structures",
        "set / map",
        "set / map by hashing",
        "sweeping",
        "disjoint set",
        "set / map by trees"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "set",
        "hash_set",
        "sweeping",
        "disjoint_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "C",
      "problem_id": 15260,
      "problem_name": "Cumulative Code",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "meet in the middle",
        "recursion"
      ],
      "tag_keys": [
        "mitm",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "D",
      "problem_id": 15261,
      "problem_name": "Donut Drone",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "graph theory",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "E",
      "problem_id": 15262,
      "problem_name": "Embedding Enumeration",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "mathematics",
        "tree"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "dp_tree",
        "math",
        "trees"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "F",
      "problem_id": 15263,
      "problem_name": "Faulty Factorial",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "case work",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "case_work",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "G",
      "problem_id": 15264,
      "problem_name": "Gambling Guide",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dijkstra's",
        "graph theory",
        "mathematics",
        "probability theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "math",
        "probability",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "H",
      "problem_id": 15265,
      "problem_name": "Hidden Hierarchy",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "implementation",
        "string",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "implementation",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "I",
      "problem_id": 15266,
      "problem_name": "Intrinsic Interval",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "segment tree",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "J",
      "problem_id": 15267,
      "problem_name": "Justified Jungle",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "number theory",
        "dynamic programming on trees",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "number_theory",
        "dp_tree",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "K",
      "problem_id": 15268,
      "problem_name": "Kitchen Knobs",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "greedy",
        "difference array",
        "finding invariants"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "difference_array",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1808,
      "problem_letter": "L",
      "problem_id": 15269,
      "problem_name": "Lunar Landscape",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "A",
      "problem_id": 15272,
      "problem_name": "Hissing Microphone",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "B",
      "problem_id": 15273,
      "problem_name": "Open-Pit Mining",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "C",
      "problem_id": 15274,
      "problem_name": "Multiplication Game",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "case work",
        "game theory",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "case_work",
        "game_theory",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "D",
      "problem_id": 15275,
      "problem_name": "Polyline Simplification",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "geometry",
        "implementation",
        "simulation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "implementation",
        "simulation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "E",
      "problem_id": 15276,
      "problem_name": "Palindromic Password",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "F",
      "problem_id": 15277,
      "problem_name": "Flow Free",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "backtracking",
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "G",
      "problem_id": 15278,
      "problem_name": "Decisions, Decisions",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bitmask",
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "bitmask",
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "H",
      "problem_id": 15279,
      "problem_name": "Heart Rate",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "I",
      "problem_id": 15280,
      "problem_name": "Initials",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1811,
      "problem_letter": "J",
      "problem_id": 15281,
      "problem_name": "Particle Collision",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1811,
      "problem_letter": "K",
      "problem_id": 15282,
      "problem_name": "Frosh Week",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "A",
      "problem_id": 15283,
      "problem_name": "Archery Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "binary search",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "binary_search",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "B",
      "problem_id": 15284,
      "problem_name": "Box",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "case work",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "C",
      "problem_id": 15285,
      "problem_name": "Connections",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "constructive",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "constructive",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "D",
      "problem_id": 15286,
      "problem_name": "Designing the Toy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "E",
      "problem_id": 15287,
      "problem_name": "Easy Quest",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "F",
      "problem_id": 15288,
      "problem_name": "The Final Level",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "case work",
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "G",
      "problem_id": 15289,
      "problem_name": "The Great Wall",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "data structures",
        "prefix sum",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "prefix_sum",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "H",
      "problem_id": 15290,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1812,
      "problem_letter": "I",
      "problem_id": 15291,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1812,
      "problem_letter": "J",
      "problem_id": 15292,
      "problem_name": "Journey from Petersburg to Moscow",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "K",
      "problem_id": 15293,
      "problem_name": "Knapsack Cryptosystem",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "meet in the middle"
      ],
      "tag_keys": [
        "mitm"
      ],
      "tag_details": [
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1812,
      "problem_letter": "L",
      "problem_id": 15294,
      "problem_name": "Laminar Family",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "segment tree with lazy propagation",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "lazyprop",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "A",
      "problem_id": 15295,
      "problem_name": "Chanukah Challenge",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "B",
      "problem_id": 15296,
      "problem_name": "Sum Squared Digits Function",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "C",
      "problem_id": 15297,
      "problem_name": "Capsules",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "D",
      "problem_id": 15298,
      "problem_name": "Pavers",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "E",
      "problem_id": 15299,
      "problem_name": "Best Rational Approximation",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "F",
      "problem_id": 15300,
      "problem_name": "The Components Game",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "G",
      "problem_id": 15301,
      "problem_name": "Social Resistance",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "H",
      "problem_id": 15302,
      "problem_name": "Triangle to Hexagon",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "line segment intersection check",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "I",
      "problem_id": 15303,
      "problem_name": "Sumdoku",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1813,
      "problem_letter": "J",
      "problem_id": 15304,
      "problem_name": "Toys",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "burnside's lemma",
        "combinatorics",
        "exponentiation by squaring",
        "mathematics",
        "modular multiplicative inverse",
        "number theory"
      ],
      "tag_keys": [
        "burnside",
        "combinatorics",
        "exponentiation_by_squaring",
        "math",
        "modular_multiplicative_inverse",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "burnside",
          "name": "burnside's lemma",
          "boj_tag_id": 16
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "A",
      "problem_id": 15329,
      "problem_name": "Secret of Chocolate Poles",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "B",
      "problem_id": 15330,
      "problem_name": "Parallel Lines",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "C",
      "problem_id": 15331,
      "problem_name": "Medical Checkup",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "D",
      "problem_id": 15332,
      "problem_name": "Making Perimeter of the Convex Hull Shortest",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "binary search",
        "convex hull",
        "geometry",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "binary_search",
        "convex_hull",
        "geometry",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "E",
      "problem_id": 15333,
      "problem_name": "Black or White",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "deque",
        "deque range maximum trick",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "deque",
        "deque_trick",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "deque_trick",
          "name": "deque range maximum trick",
          "boj_tag_id": 216
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "F",
      "problem_id": 15334,
      "problem_name": "Pizza Delivery",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "articulation points and bridges",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "articulation",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "G",
      "problem_id": 15335,
      "problem_name": "Rendezvous on a Tetrahedron",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "case work",
        "geometry"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "H",
      "problem_id": 15336,
      "problem_name": "Homework",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "maximum flow",
        "greedy",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "greedy",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "I",
      "problem_id": 15337,
      "problem_name": "Starting a Scenic Railroad Service",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "J",
      "problem_id": 15338,
      "problem_name": "String Puzzle",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "tree",
        "set / map"
      ],
      "tag_keys": [
        "trees",
        "set"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1819,
      "problem_letter": "K",
      "problem_id": 15339,
      "problem_name": "Counting Cycles",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "graph theory",
        "tree",
        "linear algebra",
        "lowest common ancestor",
        "tree compression"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "trees",
        "linear_algebra",
        "lca",
        "tree_compression"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "tree_compression",
          "name": "tree compression",
          "boj_tag_id": 193
        }
      ]
    },
    {
      "contest_id": 1820,
      "problem_letter": "A",
      "problem_id": 15340,
      "problem_name": "Sim Card",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1820,
      "problem_letter": "B",
      "problem_id": 15341,
      "problem_name": "Bank Card Verifier",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1820,
      "problem_letter": "C",
      "problem_id": 15342,
      "problem_name": "Border Wall",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1820,
      "problem_letter": "D",
      "problem_id": 15343,
      "problem_name": "World Cup Draw",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1820,
      "problem_letter": "E",
      "problem_id": 15344,
      "problem_name": "Barareh on Fire",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1820,
      "problem_letter": "F",
      "problem_id": 15345,
      "problem_name": "Homotopic Paths",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "sorting",
        "geometry",
        "line segment intersection check",
        "finding invariants"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "geometry",
        "line_intersection",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1820,
      "problem_letter": "G",
      "problem_id": 15346,
      "problem_name": "New Country Division",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1820,
      "problem_letter": "H",
      "problem_id": 15347,
      "problem_name": "Column Addition",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1820,
      "problem_letter": "I",
      "problem_id": 15348,
      "problem_name": "Cafe Bazaar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1820,
      "problem_letter": "J",
      "problem_id": 15349,
      "problem_name": "Getting Back Home",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "binary_search",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1820,
      "problem_letter": "K",
      "problem_id": 15350,
      "problem_name": "Mars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "A",
      "problem_id": 15381,
      "problem_name": "AdoraBalls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "B",
      "problem_id": 15382,
      "problem_name": "Balloon Distribution",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "C",
      "problem_id": 15383,
      "problem_name": "Convex Quadrilateral",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "D",
      "problem_id": 15384,
      "problem_name": "Disco Dance Debacle",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "E",
      "problem_id": 15385,
      "problem_name": "Expression",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "F",
      "problem_id": 15386,
      "problem_name": "Frog Pushers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "minimum spanning tree",
        "offline queries"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "mst",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "G",
      "problem_id": 15387,
      "problem_name": "Go Go Go Special Action Force!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "H",
      "problem_id": 15388,
      "problem_name": "Handbags",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "I",
      "problem_id": 15389,
      "problem_name": "Imelda’s Shopping Spree",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "tree",
        "splay tree"
      ],
      "tag_keys": [
        "trees",
        "splay_tree"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "J",
      "problem_id": 15390,
      "problem_name": "Jack and Jill and Joe",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "mathematics",
        "precomputation"
      ],
      "tag_keys": [
        "bruteforcing",
        "math",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "K",
      "problem_id": 15391,
      "problem_name": "Off the Rails",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "L",
      "problem_id": 15392,
      "problem_name": "LoL Tournament",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "PA",
      "problem_id": 15372,
      "problem_name": "A Simple Problem.",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PB",
      "problem_id": 15373,
      "problem_name": "A Simple Problem!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PC",
      "problem_id": 15374,
      "problem_name": "Tataramon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1824,
      "problem_letter": "PD",
      "problem_id": 15375,
      "problem_name": "Friday",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PE",
      "problem_id": 15376,
      "problem_name": "A Packing Problem",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PF",
      "problem_id": 15377,
      "problem_name": "Bounce Bounce Bounce",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PG",
      "problem_id": 15378,
      "problem_name": "Paasa Numbers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking",
        "binary search",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "backtracking",
        "binary_search",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PH",
      "problem_id": 15379,
      "problem_name": "Guardians of the Lunatics",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "divide and conquer",
        "divide and conquer optimization",
        "dynamic programming"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "divide_and_conquer_optimization",
        "dp"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1824,
      "problem_letter": "PI",
      "problem_id": 15380,
      "problem_name": "The Grand Noi and ICPC Battle",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1825,
      "problem_letter": "A",
      "problem_id": 15393,
      "problem_name": "Concerts",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "B",
      "problem_id": 15394,
      "problem_name": "Bricks",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "C",
      "problem_id": 15395,
      "problem_name": "Christmas Tree",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1825,
      "problem_letter": "D",
      "problem_id": 15396,
      "problem_name": "Harry Potter and The Vector Spell",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "data structures",
        "disjoint set",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "disjoint_set",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "E",
      "problem_id": 15397,
      "problem_name": "Looping Playlist",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "F",
      "problem_id": 15398,
      "problem_name": "Binary Transformations",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "G",
      "problem_id": 15399,
      "problem_name": "Robots",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting",
        "physics"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "physics"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "H",
      "problem_id": 15400,
      "problem_name": "Cat and Mouse",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1825,
      "problem_letter": "I",
      "problem_id": 15401,
      "problem_name": "Tetris",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "bruteforcing",
        "data structures",
        "dynamic programming",
        "implementation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "data_structures",
        "dp",
        "implementation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "J",
      "problem_id": 15402,
      "problem_name": "Cunning Friends",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "game theory"
      ],
      "tag_keys": [
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "K",
      "problem_id": 15403,
      "problem_name": "Escape Room",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1825,
      "problem_letter": "L",
      "problem_id": 15404,
      "problem_name": "Divide and Conquer",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "lowest common ancestor",
        "prefix sum",
        "tree"
      ],
      "tag_keys": [
        "lca",
        "prefix_sum",
        "trees"
      ],
      "tag_details": [
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "A",
      "problem_id": 15410,
      "problem_name": "Cakey McCakeFace",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hash_set",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "B",
      "problem_id": 15411,
      "problem_name": "Table",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "prefix sum",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "prefix_sum",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "C",
      "problem_id": 15412,
      "problem_name": "Macarons",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "D",
      "problem_id": 15413,
      "problem_name": "Candy Chain",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "E",
      "problem_id": 15414,
      "problem_name": "Ingredients",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "directed acyclic graph",
        "data structures",
        "dynamic programming",
        "graph theory",
        "knapsack",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "data_structures",
        "dp",
        "graphs",
        "knapsack",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "F",
      "problem_id": 15415,
      "problem_name": "Shattered Cake",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "G",
      "problem_id": 15416,
      "problem_name": "Cordon Bleu",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow",
        "hungarian"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf",
        "hungarian"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "H",
      "problem_id": 15417,
      "problem_name": "Kabobs",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "I",
      "problem_id": 15418,
      "problem_name": "Burglary",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "case work",
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "J",
      "problem_id": 15419,
      "problem_name": "Frosting on the Cake",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "K",
      "problem_id": 15420,
      "problem_name": "Blowing Candles",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "convex hull",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "PA",
      "problem_id": 15405,
      "problem_name": "Menu Tour",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "PB",
      "problem_id": 15406,
      "problem_name": "Check the Check",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "PC",
      "problem_id": 15407,
      "problem_name": "How to Eat at a Buffet",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1826,
      "problem_letter": "PD",
      "problem_id": 15408,
      "problem_name": "French Dinner",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1826,
      "problem_letter": "PE",
      "problem_id": 15409,
      "problem_name": "Majestic Gourmet University",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1827,
      "problem_letter": "A",
      "problem_id": 15421,
      "problem_name": "Birthday Cake",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "B",
      "problem_id": 15422,
      "problem_name": "Bumped!",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "C",
      "problem_id": 15423,
      "problem_name": "Canonical Coin Systems",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "D",
      "problem_id": 15424,
      "problem_name": "Cat and Mice",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "binary_search",
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "E",
      "problem_id": 15425,
      "problem_name": "Company Picnic",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "F",
      "problem_id": 15426,
      "problem_name": "GlitchBot",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "G",
      "problem_id": 15427,
      "problem_name": "Greeting Card",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "geometry",
        "set / map by hashing",
        "mathematics",
        "precomputation",
        "pythagoras theorem",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "hash_set",
        "math",
        "precomputation",
        "pythagoras",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "H",
      "problem_id": 15428,
      "problem_name": "Imperfect GPS",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "I",
      "problem_id": 15429,
      "problem_name": "Odd Gnome",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "J",
      "problem_id": 15430,
      "problem_name": "Progressive Scramble",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "K",
      "problem_id": 15431,
      "problem_name": "Space Probe",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "L",
      "problem_id": 15432,
      "problem_name": "Suspension Bridges",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1827,
      "problem_letter": "M",
      "problem_id": 15433,
      "problem_name": "Umbral Decoding",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1836,
      "problem_letter": "A",
      "problem_id": 15466,
      "problem_name": "Similarity Computation",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1836,
      "problem_letter": "B",
      "problem_id": 15467,
      "problem_name": "The Combination of Poker Cards",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1836,
      "problem_letter": "C",
      "problem_id": 15468,
      "problem_name": "Coloring Intervals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1836,
      "problem_letter": "D",
      "problem_id": 15469,
      "problem_name": "Mixing Coins",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "stack",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "stack",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1836,
      "problem_letter": "E",
      "problem_id": 15470,
      "problem_name": "Fences",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "case work",
        "geometry",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "case_work",
        "geometry",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1836,
      "problem_letter": "F",
      "problem_id": 15471,
      "problem_name": "A Simple Function",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "modular multiplicative inverse",
        "fermat's little theorem",
        "lucas theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "modular_multiplicative_inverse",
        "flt",
        "lucas"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "lucas",
          "name": "lucas theorem",
          "boj_tag_id": 113
        }
      ]
    },
    {
      "contest_id": 1836,
      "problem_letter": "G",
      "problem_id": 15472,
      "problem_name": "The Jet-Black Wings",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1836,
      "problem_letter": "H",
      "problem_id": 15473,
      "problem_name": "HH Country",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1842,
      "problem_letter": "A",
      "problem_id": 15540,
      "problem_name": "Calling Extraterrestrial Intelligence Again",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1842,
      "problem_letter": "B",
      "problem_id": 15541,
      "problem_name": "Equals are Equals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "parsing",
        "randomization",
        "regular expression",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "randomization",
        "regex",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1842,
      "problem_letter": "C",
      "problem_id": 15542,
      "problem_name": "GIGA Universe Cup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1842,
      "problem_letter": "D",
      "problem_id": 15543,
      "problem_name": "Life Line",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1842,
      "problem_letter": "E",
      "problem_id": 15544,
      "problem_name": "Map of Ninja House",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1842,
      "problem_letter": "F",
      "problem_id": 15545,
      "problem_name": "Shredding Company",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1842,
      "problem_letter": "G",
      "problem_id": 2265,
      "problem_name": "거짓말쟁이",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1842,
      "problem_letter": "H",
      "problem_id": 15546,
      "problem_name": "Viva Confetti",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "A",
      "problem_id": 15599,
      "problem_name": "Ascending Photo",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "B",
      "problem_id": 15600,
      "problem_name": "Boss Battle",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "greedy",
        "game theory"
      ],
      "tag_keys": [
        "greedy",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "C",
      "problem_id": 15601,
      "problem_name": "Connect the Dots",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "geometry",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "D",
      "problem_id": 15602,
      "problem_name": "Dunglish",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "combinatorics",
        "data structures",
        "set / map by hashing",
        "implementation",
        "mathematics",
        "set / map"
      ],
      "tag_keys": [
        "combinatorics",
        "data_structures",
        "hash_set",
        "implementation",
        "math",
        "set"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "E",
      "problem_id": 15603,
      "problem_name": "English Restaurant",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "greedy",
        "linearity of expectation",
        "mathematics",
        "probability theory",
        "recursion",
        "sorting"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "greedy",
        "linearity_of_expectation",
        "math",
        "probability",
        "recursion",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "F",
      "problem_id": 15604,
      "problem_name": "Factor-Free Tree",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "divide and conquer",
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "G",
      "problem_id": 15605,
      "problem_name": "Glyph Recognition",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "binary search",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "H",
      "problem_id": 15606,
      "problem_name": "High Score",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "I",
      "problem_id": 15607,
      "problem_name": "Installing Apps",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "J",
      "problem_id": 15608,
      "problem_name": "Juggling Troupe",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "K",
      "problem_id": 15609,
      "problem_name": "Knockout Tournament",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "combinatorics",
        "greedy",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "combinatorics",
        "greedy",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "PA",
      "problem_id": 15610,
      "problem_name": "Abbey Courtyard",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "PB",
      "problem_id": 15611,
      "problem_name": "Broken Gearbox",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1852,
      "problem_letter": "PC",
      "problem_id": 15612,
      "problem_name": "Cube Bits",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "A",
      "problem_id": 15613,
      "problem_name": "The Lawyer",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1853,
      "problem_letter": "B",
      "problem_id": 15614,
      "problem_name": "Petrol",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "dijkstra's",
        "graph theory",
        "minimum spanning tree",
        "sparse table",
        "shortest path"
      ],
      "tag_keys": [
        "data_structures",
        "dijkstra",
        "graphs",
        "mst",
        "sparse_table",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "C",
      "problem_id": 15615,
      "problem_name": "The Prices",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "D",
      "problem_id": 15616,
      "problem_name": "Divisors",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "E",
      "problem_id": 15617,
      "problem_name": "Euclidean Nim",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "game theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "game_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "F",
      "problem_id": 15618,
      "problem_name": "Pillars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1853,
      "problem_letter": "G",
      "problem_id": 15619,
      "problem_name": "Global Warming",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1853,
      "problem_letter": "H",
      "problem_id": 15620,
      "problem_name": "Hit of the Season",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1853,
      "problem_letter": "I",
      "problem_id": 15621,
      "problem_name": "The Staging",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "implementation",
        "permutation cycle decomposition",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "permutation_cycle_decomposition",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "J",
      "problem_id": 15622,
      "problem_name": "The Cave",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "centroid",
        "centroid decomposition",
        "divide and conquer",
        "lowest common ancestor",
        "tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "centroid",
        "centroid_decomposition",
        "divide_and_conquer",
        "lca",
        "trees"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1853,
      "problem_letter": "K",
      "problem_id": 15623,
      "problem_name": "The Captain",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "value / coordinate compression",
        "dijkstra's",
        "graph theory",
        "shortest path",
        "sorting"
      ],
      "tag_keys": [
        "coordinate_compression",
        "dijkstra",
        "graphs",
        "shortest_path",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "A",
      "problem_id": 15689,
      "problem_name": "Catch the Plane",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "B",
      "problem_id": 15690,
      "problem_name": "Comma Sprinkler",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "C",
      "problem_id": 15691,
      "problem_name": "Conquer The World",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "dynamic programming",
        "data structures",
        "graph theory",
        "tree",
        "dynamic programming on trees",
        "maximum flow",
        "smaller to larger technique",
        "splay tree",
        "slope trick"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "graphs",
        "trees",
        "dp_tree",
        "flow",
        "smaller_to_larger",
        "splay_tree",
        "slope_trick"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        },
        {
          "key": "slope_trick",
          "name": "slope trick",
          "boj_tag_id": 157
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "D",
      "problem_id": 15692,
      "problem_name": "Gem Island",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "E",
      "problem_id": 15693,
      "problem_name": "Getting a Jump on Crime",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "geometry",
        "breadth-first search",
        "physics"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "geometry",
        "bfs",
        "physics"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "F",
      "problem_id": 15694,
      "problem_name": "Go with the Flow",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "G",
      "problem_id": 15695,
      "problem_name": "Panda Preserve",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "geometry",
        "line segment intersection check",
        "point in non-convex polygon check",
        "voronoi diagram"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection",
        "point_in_non_convex_polygon",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "H",
      "problem_id": 15696,
      "problem_name": "Single Cut of Failure",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "greedy",
        "sorting",
        "ad-hoc",
        "constructive",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "ad_hoc",
        "constructive",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "I",
      "problem_id": 15697,
      "problem_name": "Triangles",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "dynamic programming",
        "data structures",
        "segment tree",
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "data_structures",
        "segtree",
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "J",
      "problem_id": 15698,
      "problem_name": "Uncrossed Knight’s Tour",
      "problem_difficulty": "Ruby I",
      "difficulty_level": 30,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "precomputation"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1859,
      "problem_letter": "K",
      "problem_id": 15699,
      "problem_name": "Wireless is the New Fiber",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "greedy",
        "sorting",
        "tree",
        "degree sequence"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "sorting",
        "trees",
        "degree_sequence"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "degree_sequence",
          "name": "degree sequence",
          "boj_tag_id": 200
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "A",
      "problem_id": 15832,
      "problem_name": "Aku Negaraku",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "B",
      "problem_id": 15833,
      "problem_name": "Cheap Deliveries",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "bitmask",
        "shortest path",
        "dijkstra's",
        "dynamic programming using bitfield",
        "travelling salesman problem",
        "finding invariants"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "bitmask",
        "shortest_path",
        "dijkstra",
        "dp_bitfield",
        "tsp",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "C",
      "problem_id": 15834,
      "problem_name": "Eli's Curious Mind",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "D",
      "problem_id": 15835,
      "problem_name": "Explorace",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "E",
      "problem_id": 15836,
      "problem_name": "Matrix Multiplication Calculator",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "F",
      "problem_id": 15837,
      "problem_name": "Sum of Subrectangle Areas",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "G",
      "problem_id": 15838,
      "problem_name": "Wak Sani Satay",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1882,
      "problem_letter": "H",
      "problem_id": 15839,
      "problem_name": "Stroop Effect",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1882,
      "problem_letter": "I",
      "problem_id": 15840,
      "problem_name": "Super Ball",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1882,
      "problem_letter": "J",
      "problem_id": 15841,
      "problem_name": "Virus Outbreak",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "A",
      "problem_id": 15845,
      "problem_name": "Winning ICPC",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "B",
      "problem_id": 15846,
      "problem_name": "Travelling Businessmen Problem",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "C",
      "problem_id": 15847,
      "problem_name": "Non-Interactive Guessing Number",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "D",
      "problem_id": 15848,
      "problem_name": "Make a Forest",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "E",
      "problem_id": 15849,
      "problem_name": "Parks of Jakarta",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1884,
      "problem_letter": "F",
      "problem_id": 15850,
      "problem_name": "Random Number Generator",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "G",
      "problem_id": 15851,
      "problem_name": "National Disaster: Two Towers",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1884,
      "problem_letter": "H",
      "problem_id": 15852,
      "problem_name": "ANTS",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "lowest common ancestor",
        "tree",
        "tree compression"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "lca",
        "trees",
        "tree_compression"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_compression",
          "name": "tree compression",
          "boj_tag_id": 193
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "I",
      "problem_id": 15853,
      "problem_name": "XEN 3166",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "J",
      "problem_id": 15854,
      "problem_name": "Meeting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "K",
      "problem_id": 15855,
      "problem_name": "Permutation",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "chinese remainder theorem",
        "mathematics",
        "number theory",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "crt",
        "math",
        "number_theory",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 1884,
      "problem_letter": "L",
      "problem_id": 15856,
      "problem_name": "Sacred Scarecrows",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 1905,
      "problem_letter": "A",
      "problem_id": 16032,
      "problem_name": "Income Inequality",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1905,
      "problem_letter": "B",
      "problem_id": 16033,
      "problem_name": "Origami, or the art of folding paper",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1905,
      "problem_letter": "C",
      "problem_id": 16034,
      "problem_name": "Skyscraper “MinatoHarukas”",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1905,
      "problem_letter": "D",
      "problem_id": 16035,
      "problem_name": "Playoff by all the teams",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1905,
      "problem_letter": "E",
      "problem_id": 16036,
      "problem_name": "Floating-Point Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1905,
      "problem_letter": "F",
      "problem_id": 16037,
      "problem_name": "Equilateral Triangular Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1905,
      "problem_letter": "G",
      "problem_id": 16038,
      "problem_name": "Expression Mining",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1905,
      "problem_letter": "H",
      "problem_id": 16039,
      "problem_name": "For Programming Excellence",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "data structures",
        "deque",
        "deque range maximum trick",
        "dynamic programming",
        "dynamic programming using a deque",
        "dynamic programming on trees",
        "recursion",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "deque",
        "deque_trick",
        "dp",
        "dp_deque",
        "dp_tree",
        "recursion",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "deque_trick",
          "name": "deque range maximum trick",
          "boj_tag_id": 216
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_deque",
          "name": "dynamic programming using a deque",
          "boj_tag_id": 108
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "A",
      "problem_id": 16040,
      "problem_name": "Cut It Out!",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1906,
      "problem_letter": "B",
      "problem_id": 16041,
      "problem_name": "Double Clique",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "graph theory",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "C",
      "problem_id": 16042,
      "problem_name": "Flashing Fluorescents",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "bitmask",
        "dynamic programming using bitfield",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "graph_traversal",
        "bfs",
        "bitmask",
        "dp_bitfield",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "D",
      "problem_id": 16043,
      "problem_name": "Missing Gnomes",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "E",
      "problem_id": 16044,
      "problem_name": "Prefix Free Code",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "data structures",
        "string",
        "tree",
        "number theory",
        "segment tree",
        "combinatorics",
        "modular multiplicative inverse",
        "trie"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "string",
        "trees",
        "number_theory",
        "segtree",
        "combinatorics",
        "modular_multiplicative_inverse",
        "trie"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "F",
      "problem_id": 16045,
      "problem_name": "Probe Droids",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "binary search",
        "geometry",
        "mathematics",
        "number theory",
        "prefix sum"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "math",
        "number_theory",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "G",
      "problem_id": 16046,
      "problem_name": "Rainbow Graph",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "matroid"
      ],
      "tag_keys": [
        "matroid"
      ],
      "tag_details": [
        {
          "key": "matroid",
          "name": "matroid",
          "boj_tag_id": 104
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "H",
      "problem_id": 16047,
      "problem_name": "Recovery",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive",
        "parity"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive",
        "parity"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "I",
      "problem_id": 16048,
      "problem_name": "Red Black Tree",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "J",
      "problem_id": 16049,
      "problem_name": "Winter Festival",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "articulation points and bridges",
        "cactus",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "tree"
      ],
      "tag_keys": [
        "articulation",
        "cactus",
        "dp",
        "dp_tree",
        "graphs",
        "trees"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1906,
      "problem_letter": "K",
      "problem_id": 16050,
      "problem_name": "Zoning Houses",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "A",
      "problem_id": 16051,
      "problem_name": "Drawing Borders",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1907,
      "problem_letter": "B",
      "problem_id": 16052,
      "problem_name": "Buildings",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "fermat's little theorem",
        "burnside's lemma"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "flt",
        "burnside"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "burnside",
          "name": "burnside's lemma",
          "boj_tag_id": 16
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "C",
      "problem_id": 16053,
      "problem_name": "Joyride",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "D",
      "problem_id": 16054,
      "problem_name": "Pants On Fire",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "breadth-first search",
        "data structures",
        "depth-first search",
        "floyd–warshall",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "shortest path",
        "set / map"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "dfs",
        "floyd_warshall",
        "graphs",
        "graph_traversal",
        "hash_set",
        "shortest_path",
        "set"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "E",
      "problem_id": 16055,
      "problem_name": "Perpetuum Mobile",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "mathematics",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "math",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "F",
      "problem_id": 16056,
      "problem_name": "Plug It In!",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "G",
      "problem_id": 16057,
      "problem_name": "Water Testing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "area of a polygon",
        "pick's theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "polygon_area",
        "pick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "pick",
          "name": "pick's theorem",
          "boj_tag_id": 187
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "H",
      "problem_id": 16058,
      "problem_name": "Ratatöskr",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "breadth-first search",
        "dynamic programming on trees",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "bfs",
        "dp_tree",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "I",
      "problem_id": 16059,
      "problem_name": "Überwatch",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "J",
      "problem_id": 16060,
      "problem_name": "Word Clock",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1907,
      "problem_letter": "K",
      "problem_id": 16061,
      "problem_name": "You Are Fired!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "A",
      "problem_id": 16062,
      "problem_name": "Attack on Alpha-Zet",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "lowest common ancestor",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "lca",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "B",
      "problem_id": 16063,
      "problem_name": "Battle Royale",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "C",
      "problem_id": 16064,
      "problem_name": "Coolest Ski Route",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting",
        "floyd–warshall"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "D",
      "problem_id": 16065,
      "problem_name": "Down the Pyramid",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "E",
      "problem_id": 16066,
      "problem_name": "Expired License",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "F",
      "problem_id": 16067,
      "problem_name": "Fighting Monsters",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "G",
      "problem_id": 16068,
      "problem_name": "GPS",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "H",
      "problem_id": 16069,
      "problem_name": "Hyper Illuminati",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "I",
      "problem_id": 16070,
      "problem_name": "It’s Time for a Montage",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "J",
      "problem_id": 16071,
      "problem_name": "Jigsaw Puzzle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "K",
      "problem_id": 16072,
      "problem_name": "Kitchen Cable Chaos",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "L",
      "problem_id": 16073,
      "problem_name": "Logic Puzzle",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1908,
      "problem_letter": "M",
      "problem_id": 16074,
      "problem_name": "Mountaineers",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "binary search",
        "disjoint set",
        "minimum spanning tree",
        "parallel binary search"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "binary_search",
        "disjoint_set",
        "mst",
        "pbs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "pbs",
          "name": "parallel binary search",
          "boj_tag_id": 54
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "A",
      "problem_id": 16077,
      "problem_name": "Монгол ардын үлгэр",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "B",
      "problem_id": 16078,
      "problem_name": "Хаалт",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "C",
      "problem_id": 16079,
      "problem_name": "Тоглоом",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1909,
      "problem_letter": "D",
      "problem_id": 16080,
      "problem_name": "And",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "E",
      "problem_id": 16081,
      "problem_name": "Жагсаал",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "F",
      "problem_id": 16082,
      "problem_name": "Гоё тоо",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "G",
      "problem_id": 16083,
      "problem_name": "Хоёртын хайлтын мод",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "tree"
      ],
      "tag_keys": [
        "trees"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "H",
      "problem_id": 16084,
      "problem_name": "Бас нэгэн Графын бодлого",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "backtracking"
      ],
      "tag_keys": [
        "string",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "I",
      "problem_id": 16085,
      "problem_name": "Гэмт хэрэг",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1909,
      "problem_letter": "J",
      "problem_id": 16086,
      "problem_name": "Дайн",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1910,
      "problem_letter": "A",
      "problem_id": 16087,
      "problem_name": "It’s a Jungle Out There",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1910,
      "problem_letter": "B",
      "problem_id": 16088,
      "problem_name": "Finding Your Coach",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1910,
      "problem_letter": "C",
      "problem_id": 16089,
      "problem_name": "Pipe Hype",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1910,
      "problem_letter": "D",
      "problem_id": 16090,
      "problem_name": "Twenty Thousand Leagues Under the Sea",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1910,
      "problem_letter": "E",
      "problem_id": 16091,
      "problem_name": "Cruise Quail",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1910,
      "problem_letter": "F",
      "problem_id": 16092,
      "problem_name": "Willy Feels Guilty",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1910,
      "problem_letter": "G",
      "problem_id": 16093,
      "problem_name": "The Total is Right",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1911,
      "problem_letter": "A",
      "problem_id": 16094,
      "problem_name": "Lush Gears",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "knapsack"
      ],
      "tag_keys": [
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1911,
      "problem_letter": "B",
      "problem_id": 16095,
      "problem_name": "Amateur Radio Network",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "binary search",
        "parametric search",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "parametric_search",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 1911,
      "problem_letter": "C",
      "problem_id": 16096,
      "problem_name": "Life on a Torus",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1911,
      "problem_letter": "D",
      "problem_id": 16097,
      "problem_name": "Grumpy Groundhogs in Gridland",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "sorting",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1911,
      "problem_letter": "E",
      "problem_id": 16098,
      "problem_name": "Commuting Mathematicians",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1911,
      "problem_letter": "F",
      "problem_id": 16099,
      "problem_name": "Larger Sport Facility",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "A",
      "problem_id": 16100,
      "problem_name": "Andrew’s Amazing Architecture",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "B",
      "problem_id": 16101,
      "problem_name": "Banner",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "C",
      "problem_id": 16102,
      "problem_name": "Catan’s Longest Road",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "D",
      "problem_id": 16103,
      "problem_name": "Drawn and Quartered",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "E",
      "problem_id": 16104,
      "problem_name": "Extending Rock-Paper-Scissors",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "F",
      "problem_id": 16105,
      "problem_name": "Fair Share",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "sorting",
        "geometry",
        "case work",
        "two-pointer",
        "rotating calipers"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "geometry",
        "case_work",
        "two_pointer",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "G",
      "problem_id": 16106,
      "problem_name": "Grievous Loss of Data",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "chordal graph",
        "data structures",
        "graph theory",
        "graph traversal",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "chordal_graph",
        "data_structures",
        "graphs",
        "graph_traversal",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "chordal_graph",
          "name": "chordal graph",
          "boj_tag_id": 201
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "H",
      "problem_id": 16107,
      "problem_name": "Hiding Merlin",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "I",
      "problem_id": 16108,
      "problem_name": "Injecting DNA",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "string",
        "segment tree",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "segtree",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "J",
      "problem_id": 16109,
      "problem_name": "Judge’s Mistake",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "greedy"
      ],
      "tag_keys": [
        "graphs",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "K",
      "problem_id": 16110,
      "problem_name": "Kiwis vs Kangaroos II",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1912,
      "problem_letter": "L",
      "problem_id": 16111,
      "problem_name": "Last Casino",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1920,
      "problem_letter": "A",
      "problem_id": 16175,
      "problem_name": "General Election",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1920,
      "problem_letter": "B",
      "problem_id": 16176,
      "problem_name": "Liar Game",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "exponentiation by squaring",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1920,
      "problem_letter": "C",
      "problem_id": 16177,
      "problem_name": "Why is Math Book So Sad?",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1920,
      "problem_letter": "D",
      "problem_id": 16178,
      "problem_name": "Noodle Team Contest",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1920,
      "problem_letter": "E",
      "problem_id": 16179,
      "problem_name": "Palapa Number",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1920,
      "problem_letter": "F",
      "problem_id": 16180,
      "problem_name": "New House",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "A",
      "problem_id": 16282,
      "problem_name": "Black Chain",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "B",
      "problem_id": 16283,
      "problem_name": "Farm",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "C",
      "problem_id": 16284,
      "problem_name": "Lucid Strings",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "data structures",
        "hashing",
        "segment tree",
        "string",
        "suffix array and lcp array",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "hashing",
        "segtree",
        "string",
        "suffix_array",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "D",
      "problem_id": 16285,
      "problem_name": "Matching",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1935,
      "problem_letter": "E",
      "problem_id": 16286,
      "problem_name": "Panokseon",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "binary search",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "dp",
        "binary_search",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "F",
      "problem_id": 16287,
      "problem_name": "Parcel",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "meet in the middle"
      ],
      "tag_keys": [
        "dp",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "G",
      "problem_id": 16288,
      "problem_name": "Passport Control",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "H",
      "problem_id": 16289,
      "problem_name": "Path Embedding",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1935,
      "problem_letter": "I",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1935,
      "problem_letter": "J",
      "problem_id": 16290,
      "problem_name": "Sliding Blocks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1935,
      "problem_letter": "K",
      "problem_id": 16291,
      "problem_name": "Suffix-Freeness",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1935,
      "problem_letter": "L",
      "problem_id": 16292,
      "problem_name": "Three Robots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1936,
      "problem_letter": "A",
      "problem_id": 16293,
      "problem_name": "Appalling Architecture",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "physics"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "B",
      "problem_id": 16294,
      "problem_name": "Bee Problem",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "breadth-first search",
        "depth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "bfs",
        "dfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "C",
      "problem_id": 16295,
      "problem_name": "Criss-Cross Cables",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "D",
      "problem_id": 16296,
      "problem_name": "Daily Division",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "ternary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "E",
      "problem_id": 16297,
      "problem_name": "Eating Everything Efficiently",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "F",
      "problem_id": 16298,
      "problem_name": "Floating Points",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "G",
      "problem_id": 16299,
      "problem_name": "Green Light",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "prefix sum",
        "probability theory",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "math",
        "prefix_sum",
        "probability",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "H",
      "problem_id": 16300,
      "problem_name": "H to O",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "I",
      "problem_id": 16301,
      "problem_name": "Isomorphic Inversion",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "string",
        "hashing",
        "rabin–karp"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "hashing",
        "rabin_karp"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "J",
      "problem_id": 16302,
      "problem_name": "Jurassic Jigsaw",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1936,
      "problem_letter": "K",
      "problem_id": 16303,
      "problem_name": "KALLAX Construction",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "A",
      "problem_id": 16304,
      "problem_name": "A Prize No One Can Win",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "B",
      "problem_id": 16305,
      "problem_name": "Birthday Boy",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "ad-hoc",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "ad_hoc",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "C",
      "problem_id": 16306,
      "problem_name": "Cardboard Container",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "D",
      "problem_id": 16307,
      "problem_name": "Driver Disagreement",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "breadth-first search",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "bfs",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "E",
      "problem_id": 16308,
      "problem_name": "Entirely Unsorted Sequences",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "F",
      "problem_id": 16309,
      "problem_name": "Financial Planning",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "binary search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "G",
      "problem_id": 16310,
      "problem_name": "Game Night",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "H",
      "problem_id": 16311,
      "problem_name": "Harry the Hamster",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "game theory"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "I",
      "problem_id": 16312,
      "problem_name": "In Case of an Invasion, Please. . .",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "J",
      "problem_id": 16313,
      "problem_name": "Janitor Troubles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1937,
      "problem_letter": "K",
      "problem_id": 16314,
      "problem_name": "Kingpin Escape",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "constructive",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "constructive",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "A",
      "problem_id": 16315,
      "problem_name": "Altruistic Amphibians",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "B",
      "problem_id": 16316,
      "problem_name": "Baby Bites",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "C",
      "problem_id": 16317,
      "problem_name": "Code Cleanups",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "D",
      "problem_id": 16318,
      "problem_name": "Delivery Delays",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "E",
      "problem_id": 16319,
      "problem_name": "Explosion Exploit",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "set / map"
      ],
      "tag_keys": [
        "math",
        "dp",
        "set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "F",
      "problem_id": 16320,
      "problem_name": "Firing the Phaser",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1938,
      "problem_letter": "G",
      "problem_id": 16321,
      "problem_name": "Game Scheduling",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "H",
      "problem_id": 16322,
      "problem_name": "House Lawn",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "I",
      "problem_id": 16323,
      "problem_name": "Intergalactic Bidding",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "greedy",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "J",
      "problem_id": 16324,
      "problem_name": "Jumbled String",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1938,
      "problem_letter": "K",
      "problem_id": 16325,
      "problem_name": "King’s Colors",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "combinatorics",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "A",
      "problem_id": 16326,
      "problem_name": "Numbers",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bruteforcing",
        "mathematics",
        "number theory",
        "recursion"
      ],
      "tag_keys": [
        "bruteforcing",
        "math",
        "number_theory",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "B",
      "problem_id": 16327,
      "problem_name": "Broken Watch",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "C",
      "problem_id": 16328,
      "problem_name": "Tree",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "D",
      "problem_id": 16329,
      "problem_name": "Space Station",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "maximum flow",
        "greedy",
        "minimum cost maximum flow",
        "tree",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "flow",
        "greedy",
        "mcmf",
        "trees",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "E",
      "problem_id": 16330,
      "problem_name": "Fishermen",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "sorting",
        "binary search",
        "prefix sum"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "binary_search",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "F",
      "problem_id": 16331,
      "problem_name": "Min Max Convert",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "greedy",
        "stack",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stack",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "G",
      "problem_id": 16332,
      "problem_name": "Matrix Queries",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "H",
      "problem_id": 16333,
      "problem_name": "Modern Djinn",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "randomization"
      ],
      "tag_keys": [
        "randomization"
      ],
      "tag_details": [
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "I",
      "problem_id": 16334,
      "problem_name": "Inversion",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "combinatorics",
        "topological sorting"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "combinatorics",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "J",
      "problem_id": 16335,
      "problem_name": "Rabbit vs Turtle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "dijkstra's",
        "graph theory",
        "prefix sum",
        "shortest path"
      ],
      "tag_keys": [
        "binary_search",
        "dijkstra",
        "graphs",
        "prefix_sum",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 1939,
      "problem_letter": "K",
      "problem_id": 16336,
      "problem_name": "Points and Rectangles",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer",
        "offline queries",
        "cdq"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer",
        "offline_queries",
        "cdq"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "cdq",
          "name": "cdq",
          "boj_tag_id": 237
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "D",
      "problem_id": 16337,
      "problem_name": "Die",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "E",
      "problem_id": 16338,
      "problem_name": "Escalators",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "F",
      "problem_id": 16339,
      "problem_name": "Moving Furniture",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "G",
      "problem_id": 16340,
      "problem_name": "Split Game",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "H",
      "problem_id": 16341,
      "problem_name": "Horsemeet",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "parity"
      ],
      "tag_keys": [
        "ad_hoc",
        "parity"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "I",
      "problem_id": 16342,
      "problem_name": "Lighting",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "L",
      "problem_id": 16343,
      "problem_name": "Locker Room",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "string",
        "segment tree",
        "set / map",
        "segment tree with lazy propagation",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "string",
        "segtree",
        "set",
        "lazyprop",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "N",
      "problem_id": 16344,
      "problem_name": "Numbers Generator",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "aho-corasick",
        "data structures",
        "gaussian elimination",
        "linear algebra",
        "mathematics",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "data_structures",
        "gaussian_elimination",
        "linear_algebra",
        "math",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "R",
      "problem_id": 16345,
      "problem_name": "Rullete",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1940,
      "problem_letter": "S",
      "problem_id": 16346,
      "problem_name": "Security Guards",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "binary search",
        "prefix sum",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "binary_search",
        "prefix_sum",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 1941,
      "problem_letter": "A",
      "problem_id": 16347,
      "problem_name": "Alloc",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "data structures",
        "segment tree",
        "linked list"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "segtree",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 1941,
      "problem_letter": "B",
      "problem_id": 16348,
      "problem_name": "Flauta",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1941,
      "problem_letter": "C",
      "problem_id": 16349,
      "problem_name": "Ghost leg",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc",
        "data structures",
        "divide and conquer"
      ],
      "tag_keys": [
        "ad_hoc",
        "data_structures",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 1941,
      "problem_letter": "D",
      "problem_id": 16350,
      "problem_name": "Hulja",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1941,
      "problem_letter": "E",
      "problem_id": 16351,
      "problem_name": "Luka",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1941,
      "problem_letter": "F",
      "problem_id": 16352,
      "problem_name": "Menza",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1941,
      "problem_letter": "G",
      "problem_id": 16353,
      "problem_name": "Načitan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1941,
      "problem_letter": "H",
      "problem_id": 16354,
      "problem_name": "Ploča",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "recursion"
      ],
      "tag_keys": [
        "dp",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1941,
      "problem_letter": "I",
      "problem_id": 16355,
      "problem_name": "Reality",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1941,
      "problem_letter": "J",
      "problem_id": 16356,
      "problem_name": "Stablo u stablu",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1942,
      "problem_letter": "A",
      "problem_id": 16357,
      "problem_name": "Circuits",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "B",
      "problem_id": 16358,
      "problem_name": "Cosmetic Survey",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "C",
      "problem_id": 16359,
      "problem_name": "Disks Arrangement",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "greedy",
        "ad-hoc",
        "geometry"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "D",
      "problem_id": 16360,
      "problem_name": "Go Latin",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "E",
      "problem_id": 16361,
      "problem_name": "LED",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "F",
      "problem_id": 16362,
      "problem_name": "Parentheses",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "case work",
        "data structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "implementation",
        "parsing",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "G",
      "problem_id": 16363,
      "problem_name": "Secret Code",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "calculus",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "H",
      "problem_id": 16364,
      "problem_name": "Simple Polygon",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "dynamic programming",
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "I",
      "problem_id": 16365,
      "problem_name": "Square Root",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "graph theory",
        "chordal graph"
      ],
      "tag_keys": [
        "graphs",
        "chordal_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "chordal_graph",
          "name": "chordal graph",
          "boj_tag_id": 201
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "J",
      "problem_id": 16366,
      "problem_name": "Starwars",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "K",
      "problem_id": 16367,
      "problem_name": "TV Show Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "traceback",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "traceback",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 1942,
      "problem_letter": "L",
      "problem_id": 16368,
      "problem_name": "Working Plan",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "A",
      "problem_id": 16384,
      "problem_name": "Stoichiometry",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "B",
      "problem_id": 16385,
      "problem_name": "Pokemon Go Go",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "data structures",
        "set / map",
        "bitmask",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "set",
        "bitmask",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "C",
      "problem_id": 16386,
      "problem_name": "Urban Design",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "D",
      "problem_id": 16387,
      "problem_name": "Smooth Array",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "E",
      "problem_id": 16388,
      "problem_name": "Is-A? Has-A? Who Knowz-A?",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "F",
      "problem_id": 16389,
      "problem_name": "Atlantis",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "G",
      "problem_id": 16390,
      "problem_name": "Sheba’s Amoebas",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "H",
      "problem_id": 16391,
      "problem_name": "Zebras and Ocelots",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "I",
      "problem_id": 16392,
      "problem_name": "Racing Around the Alphabet",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "string",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "string",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1944,
      "problem_letter": "J",
      "problem_id": 16393,
      "problem_name": "Lost Map",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "A",
      "problem_id": 16405,
      "problem_name": "Treehouses",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "B",
      "problem_id": 16406,
      "problem_name": "Exam",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "C",
      "problem_id": 16407,
      "problem_name": "Cops and Robbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "D",
      "problem_id": 16408,
      "problem_name": "Poker Hand",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "E",
      "problem_id": 16409,
      "problem_name": "Coprime Integers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "inclusion and exclusion",
        "möbius inversion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "inclusion_and_exclusion",
        "mobius_inversion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "F",
      "problem_id": 16410,
      "problem_name": "Goat Rope",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "G",
      "problem_id": 16411,
      "problem_name": "Illiteracy",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "string",
        "graph traversal",
        "breadth-first search",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "string",
        "graph_traversal",
        "bfs",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "H",
      "problem_id": 16412,
      "problem_name": "Heir’s Dilemma",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "I",
      "problem_id": 16413,
      "problem_name": "Random Manhattan Distance",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "sweeping",
        "probability theory",
        "convex hull",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "sweeping",
        "probability",
        "convex_hull",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "J",
      "problem_id": 16414,
      "problem_name": "Mobilization",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1946,
      "problem_letter": "K",
      "problem_id": 16415,
      "problem_name": "Repeated Substrings",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "A",
      "problem_id": 16416,
      "problem_name": "Abstract Art",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "B",
      "problem_id": 16417,
      "problem_name": "Count the Bits",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "C",
      "problem_id": 16406,
      "problem_name": "Exam",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "D",
      "problem_id": 16411,
      "problem_name": "Illiteracy",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "string",
        "graph traversal",
        "breadth-first search",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "string",
        "graph_traversal",
        "bfs",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "E",
      "problem_id": 16418,
      "problem_name": "Inversions",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull trick",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "cht",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "F",
      "problem_id": 16419,
      "problem_name": "Knockout",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "implementation",
        "mathematics",
        "probability theory",
        "tree"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_tree",
        "implementation",
        "math",
        "probability",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "G",
      "problem_id": 16414,
      "problem_name": "Mobilization",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "H",
      "problem_id": 16420,
      "problem_name": "Paper Strips",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1947,
      "problem_letter": "I",
      "problem_id": 16421,
      "problem_name": "Rectangles",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "J",
      "problem_id": 16422,
      "problem_name": "Area Rug",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1947,
      "problem_letter": "K",
      "problem_id": 16423,
      "problem_name": "To Tell the Truth",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "ad-hoc"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "A",
      "problem_id": 16406,
      "problem_name": "Exam",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "B",
      "problem_id": 16410,
      "problem_name": "Goat Rope",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "C",
      "problem_id": 16424,
      "problem_name": "Repeating Goldbachs",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "D",
      "problem_id": 16411,
      "problem_name": "Illiteracy",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "string",
        "graph traversal",
        "breadth-first search",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "string",
        "graph_traversal",
        "bfs",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "E",
      "problem_id": 16419,
      "problem_name": "Knockout",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "implementation",
        "mathematics",
        "probability theory",
        "tree"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_tree",
        "implementation",
        "math",
        "probability",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "F",
      "problem_id": 16421,
      "problem_name": "Rectangles",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "G",
      "problem_id": 16425,
      "problem_name": "Random Index Vectors",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "two-pointer"
      ],
      "tag_keys": [
        "implementation",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "H",
      "problem_id": 16422,
      "problem_name": "Area Rug",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "I",
      "problem_id": 16426,
      "problem_name": "Sculpture",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "J",
      "problem_id": 16427,
      "problem_name": "Time Limits",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1948,
      "problem_letter": "K",
      "problem_id": 16423,
      "problem_name": "To Tell the Truth",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "ad-hoc"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "A",
      "problem_id": 16442,
      "problem_name": "Aventurando-se no Slackline",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "inclusion and exclusion",
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "inclusion_and_exclusion",
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "B",
      "problem_id": 16443,
      "problem_name": "Bolinhas de Gude",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "C",
      "problem_id": 16444,
      "problem_name": "Cortador de Pizza",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "euler characteristic (χ=v-e+f)",
        "geometry",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "euler_characteristic",
        "geometry",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euler_characteristic",
          "name": "euler characteristic (χ=v-e+f)",
          "boj_tag_id": 119
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "D",
      "problem_id": 16445,
      "problem_name": "Desvendando Monty Hall",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "E",
      "problem_id": 16446,
      "problem_name": "Enigma",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "F",
      "problem_id": 16447,
      "problem_name": "Festival",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "sorting"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "G",
      "problem_id": 16448,
      "problem_name": "Gasolina",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "binary_search",
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "H",
      "problem_id": 16449,
      "problem_name": "Hipótese Policial",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "implementation",
        "knuth–morris–pratt",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "kmp",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "I",
      "problem_id": 16450,
      "problem_name": "Interruptores",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bitmask",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "bitmask",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "J",
      "problem_id": 16451,
      "problem_name": "Juntando Capitais",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1950,
      "problem_letter": "K",
      "problem_id": 16452,
      "problem_name": "Kepler",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1950,
      "problem_letter": "L",
      "problem_id": 16453,
      "problem_name": "Linhas de Metrô",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "segment tree with lazy propagation",
        "lowest common ancestor",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "lazyprop",
        "lca",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 1950,
      "problem_letter": "M",
      "problem_id": 16454,
      "problem_name": "Modificando SAT",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "string",
        "parsing",
        "linear algebra",
        "gaussian elimination",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "math",
        "string",
        "parsing",
        "linear_algebra",
        "gaussian_elimination",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "A",
      "problem_id": 16511,
      "problem_name": "Pokegene",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "lowest common ancestor",
        "trie",
        "tree compression"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "lca",
        "trie",
        "tree_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "tree_compression",
          "name": "tree compression",
          "boj_tag_id": 193
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "B",
      "problem_id": 16512,
      "problem_name": "Maximum Subarrays",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "C",
      "problem_id": 16513,
      "problem_name": "Rational Ratio",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "parsing",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "parsing",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "D",
      "problem_id": 16514,
      "problem_name": "Travel the Skies",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "graph theory",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "E",
      "problem_id": 16515,
      "problem_name": "Euler’s Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "F",
      "problem_id": 16516,
      "problem_name": "Lipschitz Constant",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "G",
      "problem_id": 16517,
      "problem_name": "Tima goes to Xentopia",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "H",
      "problem_id": 16518,
      "problem_name": "New Salaries",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1955,
      "problem_letter": "I",
      "problem_id": 16519,
      "problem_name": "Other Side",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1955,
      "problem_letter": "J",
      "problem_id": 16520,
      "problem_name": "Kaleidoscopic Palindromes",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "implementation",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "implementation",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "A",
      "problem_id": 16521,
      "problem_name": "A Symmetrical Pizza",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "B",
      "problem_id": 16522,
      "problem_name": "Building a Field",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "binary search",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "C",
      "problem_id": 16523,
      "problem_name": "Cheap Trips",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "D",
      "problem_id": 16524,
      "problem_name": "Database of Clients",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "set / map by trees",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set",
        "tree_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "E",
      "problem_id": 16525,
      "problem_name": "Escape, Polygon!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "geometry",
        "combinatorics",
        "two-pointer",
        "rotating calipers"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "combinatorics",
        "two_pointer",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "F",
      "problem_id": 16526,
      "problem_name": "Fantastic Beasts",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "chinese remainder theorem",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "crt",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "G",
      "problem_id": 16527,
      "problem_name": "Gathering Red-Black Fruits",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1956,
      "problem_letter": "H",
      "problem_id": 16528,
      "problem_name": "Highway Decommission",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "I",
      "problem_id": 16529,
      "problem_name": "Ink Colors",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "J",
      "problem_id": 16530,
      "problem_name": "Jeopardized Election",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "K",
      "problem_id": 16531,
      "problem_name": "KryptoLocker Ate my Homework",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "constructive",
        "recursion",
        "sorting"
      ],
      "tag_keys": [
        "bitmask",
        "constructive",
        "recursion",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "L",
      "problem_id": 16532,
      "problem_name": "Looking for the Risk Factor",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "mathematics",
        "number theory",
        "offline queries",
        "primality test",
        "segment tree",
        "sieve of eratosthenes",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "math",
        "number_theory",
        "offline_queries",
        "primality_test",
        "segtree",
        "sieve",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1956,
      "problem_letter": "M",
      "problem_id": 16533,
      "problem_name": "Mount Marathon",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1960,
      "problem_letter": "A",
      "problem_id": 16551,
      "problem_name": "Potato Sacks",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1960,
      "problem_letter": "B",
      "problem_id": 16552,
      "problem_name": "Moving Buildings",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1960,
      "problem_letter": "C",
      "problem_id": 16553,
      "problem_name": "Hedwig’s Ladder",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1960,
      "problem_letter": "D",
      "problem_id": 16554,
      "problem_name": "Tanks and Pipes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1960,
      "problem_letter": "E",
      "problem_id": 16555,
      "problem_name": "What time is it anyway?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1960,
      "problem_letter": "F",
      "problem_id": 16556,
      "problem_name": "Left-Right-Win",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1960,
      "problem_letter": "G",
      "problem_id": 16557,
      "problem_name": "The Erdös-Straus Conjecture",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1960,
      "problem_letter": "H",
      "problem_id": 16558,
      "problem_name": "Subprime Fibonacci Sequence",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "number theory",
        "set / map",
        "simulation",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "number_theory",
        "set",
        "simulation",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 1960,
      "problem_letter": "I",
      "problem_id": 16559,
      "problem_name": "Airspace Regulations",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1960,
      "problem_letter": "J",
      "problem_id": 16560,
      "problem_name": "Pinemi Puzzles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1965,
      "problem_letter": "A",
      "problem_id": 16573,
      "problem_name": "Edit Distance",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "B",
      "problem_id": 16574,
      "problem_name": "Rotating Gears",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "heavy-light decomposition",
        "link/cut tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "hld",
        "link_cut_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        },
        {
          "key": "link_cut_tree",
          "name": "link/cut tree",
          "boj_tag_id": 98
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "C",
      "problem_id": 16575,
      "problem_name": "Smart Thief",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "randomization",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "randomization",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "D",
      "problem_id": 16576,
      "problem_name": "Icy Land",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "E",
      "problem_id": 16577,
      "problem_name": "Artilleries and Defensive Walls",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "geometry",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "geometry",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "F",
      "problem_id": 16578,
      "problem_name": "Popping Balloons",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "G",
      "problem_id": 16579,
      "problem_name": "Go Make It Complete",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "H",
      "problem_id": 16580,
      "problem_name": "Lexical Sign Sequence",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "I",
      "problem_id": 16581,
      "problem_name": "Lie Detector",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "J",
      "problem_id": 16582,
      "problem_name": "Future Generation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "sorting"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "K",
      "problem_id": 16583,
      "problem_name": "Boomerangs",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1965,
      "problem_letter": "L",
      "problem_id": 16584,
      "problem_name": "Binary String",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "A",
      "problem_id": 16585,
      "problem_name": "Tour de BINUS",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "B",
      "problem_id": 16586,
      "problem_name": "Linked List",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "tree",
        "splay tree"
      ],
      "tag_keys": [
        "trees",
        "splay_tree"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "C",
      "problem_id": 16587,
      "problem_name": "Hierarchical Structure",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "sorting",
        "tree",
        "segment tree",
        "binary search",
        "prefix sum",
        "heavy-light decomposition",
        "merge sort tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "trees",
        "segtree",
        "binary_search",
        "prefix_sum",
        "hld",
        "merge_sort_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "D",
      "problem_id": 16588,
      "problem_name": "Substring Permutation",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "E",
      "problem_id": 16589,
      "problem_name": "The Good, the Great, and the Superb",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1966,
      "problem_letter": "F",
      "problem_id": 16590,
      "problem_name": "KMP",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "maximum flow",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "G",
      "problem_id": 16591,
      "problem_name": "Discs",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "H",
      "problem_id": 16592,
      "problem_name": "Plate Parity",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "I",
      "problem_id": 16593,
      "problem_name": "Expected Value of a Permutation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "J",
      "problem_id": 16594,
      "problem_name": "A Study on Groups",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1966,
      "problem_letter": "K",
      "problem_id": 16595,
      "problem_name": "Living Subgraph",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1966,
      "problem_letter": "L",
      "problem_id": 16596,
      "problem_name": "Fair Tournament",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1966,
      "problem_letter": "M",
      "problem_id": 16597,
      "problem_name": "Moving Around",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1967,
      "problem_letter": "A",
      "problem_id": 16601,
      "problem_name": "Access Points",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "B",
      "problem_id": 16602,
      "problem_name": "Brexit Negotiations",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "priority queue",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "priority_queue",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "C",
      "problem_id": 16603,
      "problem_name": "Circuit Board Design",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "geometry",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "geometry",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "D",
      "problem_id": 16604,
      "problem_name": "Date Pickup",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "binary search",
        "directed acyclic graph",
        "dijkstra's",
        "dynamic programming",
        "graph theory",
        "shortest path",
        "topological sorting"
      ],
      "tag_keys": [
        "binary_search",
        "dag",
        "dijkstra",
        "dp",
        "graphs",
        "shortest_path",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "E",
      "problem_id": 16605,
      "problem_name": "Equality Control",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "F",
      "problem_id": 16606,
      "problem_name": "Fastest Speedrun",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc",
        "dijkstra's",
        "dynamic programming",
        "graph theory",
        "greedy",
        "implementation",
        "shortest path",
        "simulation",
        "tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "dijkstra",
        "dp",
        "graphs",
        "greedy",
        "implementation",
        "shortest_path",
        "simulation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "G",
      "problem_id": 16607,
      "problem_name": "Game Design",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "H",
      "problem_id": 16608,
      "problem_name": "Hard Drive",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "I",
      "problem_id": 16609,
      "problem_name": "Inflation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "J",
      "problem_id": 16610,
      "problem_name": "Jinxed Betting",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "K",
      "problem_id": 16611,
      "problem_name": "Kleptography",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "PA",
      "problem_id": 16598,
      "problem_name": "Achievements",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "two-pointer"
      ],
      "tag_keys": [
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "PB",
      "problem_id": 16599,
      "problem_name": "Banana Republic",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "constructive",
        "dynamic programming"
      ],
      "tag_keys": [
        "constructive",
        "dp"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1967,
      "problem_letter": "PC",
      "problem_id": 16600,
      "problem_name": "Contemporary Art",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "A",
      "problem_id": 16612,
      "problem_name": "Aligned Typesetting",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "B",
      "problem_id": 16613,
      "problem_name": "Bad Keming",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "knuth–morris–pratt",
        "string"
      ],
      "tag_keys": [
        "kmp",
        "string"
      ],
      "tag_details": [
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "C",
      "problem_id": 16614,
      "problem_name": "Collecting Stars",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "D",
      "problem_id": 16615,
      "problem_name": "Dropping Blocks",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc",
        "greedy"
      ],
      "tag_keys": [
        "ad_hoc",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "E",
      "problem_id": 16616,
      "problem_name": "Explosive Wiring",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1968,
      "problem_letter": "F",
      "problem_id": 16617,
      "problem_name": "Far, Far Away",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "data structures",
        "graph theory",
        "shortest path",
        "parametric search",
        "sparse table",
        "floyd–warshall"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "graphs",
        "shortest_path",
        "parametric_search",
        "sparse_table",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "G",
      "problem_id": 16618,
      "problem_name": "Good Cable Management",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1968,
      "problem_letter": "H",
      "problem_id": 16619,
      "problem_name": "Hazardous Driving",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1968,
      "problem_letter": "I",
      "problem_id": 16620,
      "problem_name": "Interesting World of Arrays",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bruteforcing",
        "combinatorics",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bruteforcing",
        "combinatorics",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 1968,
      "problem_letter": "J",
      "problem_id": 16621,
      "problem_name": "Judging Divisionals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1968,
      "problem_letter": "K",
      "problem_id": 16622,
      "problem_name": "Knights and Dragons",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1968,
      "problem_letter": "L",
      "problem_id": 16623,
      "problem_name": "Laps",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "A",
      "problem_id": 16624,
      "problem_name": "Bingo Ties",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "B",
      "problem_id": 16625,
      "problem_name": "Das Blinkenlights",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "C",
      "problem_id": 16626,
      "problem_name": "Ebony and Ivory",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "D",
      "problem_id": 16627,
      "problem_name": "Froggie",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "E",
      "problem_id": 16628,
      "problem_name": "Fruit Slicer",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "F",
      "problem_id": 16629,
      "problem_name": "LCM Tree",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "G",
      "problem_id": 16630,
      "problem_name": "Left and Right",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "H",
      "problem_id": 16631,
      "problem_name": "Longest Life",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "I",
      "problem_id": 16632,
      "problem_name": "Monitoring Ski Paths",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "graph traversal",
        "tree",
        "set / map",
        "depth-first search",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "graph_traversal",
        "trees",
        "set",
        "dfs",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "J",
      "problem_id": 16633,
      "problem_name": "Peg Game for Two",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "K",
      "problem_id": 16634,
      "problem_name": "Run-Length Encoding, Run!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "L",
      "problem_id": 16635,
      "problem_name": "Superdoku",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching",
        "hall's theorem"
      ],
      "tag_keys": [
        "bipartite_matching",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 1969,
      "problem_letter": "M",
      "problem_id": 16636,
      "problem_name": "Triangular Clouds",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "greedy",
        "sorting",
        "geometry",
        "sweeping",
        "hashing"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "geometry",
        "sweeping",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "A",
      "problem_id": 16648,
      "problem_name": "Accumulator Battery",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "B",
      "problem_id": 16649,
      "problem_name": "Building a Stair",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "C",
      "problem_id": 16650,
      "problem_name": "Counting Stairs",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "D",
      "problem_id": 16651,
      "problem_name": "Distinct Substrings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "E",
      "problem_id": 16652,
      "problem_name": "Email Destruction",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "F",
      "problem_id": 16653,
      "problem_name": "Forgotten Land",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bitmask",
        "combinatorics",
        "data structures",
        "disjoint set",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "data_structures",
        "disjoint_set",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "G",
      "problem_id": 16654,
      "problem_name": "Generalized German Quotation",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "greedy",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "H",
      "problem_id": 16655,
      "problem_name": "Halves Not Equal",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "I",
      "problem_id": 16656,
      "problem_name": "Interactive Array Guessing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "J",
      "problem_id": 16657,
      "problem_name": "Joined Vessels",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "prefix sum",
        "stack",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "prefix_sum",
        "stack",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "K",
      "problem_id": 16658,
      "problem_name": "Keyboard Consensus",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "ad-hoc",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 1970,
      "problem_letter": "L",
      "problem_id": 16659,
      "problem_name": "LED-led Paths",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "A",
      "problem_id": 16660,
      "problem_name": "Alice the Fan",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "B",
      "problem_id": 16661,
      "problem_name": "Bimatching",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "graph theory",
        "general matching"
      ],
      "tag_keys": [
        "graphs",
        "general_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "general_matching",
          "name": "general matching",
          "boj_tag_id": 15
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "C",
      "problem_id": 16662,
      "problem_name": "Cactus Search",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "cactus",
        "centroid",
        "floyd–warshall",
        "graph theory",
        "shortest path",
        "tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "cactus",
        "centroid",
        "floyd_warshall",
        "graphs",
        "shortest_path",
        "trees"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "D",
      "problem_id": 16663,
      "problem_name": "Distance Sum",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "prefix sum"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "graphs",
        "graph_traversal",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "E",
      "problem_id": 16664,
      "problem_name": "Easy Chess",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "F",
      "problem_id": 16665,
      "problem_name": "Fractions",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "G",
      "problem_id": 16666,
      "problem_name": "Guest Student",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "H",
      "problem_id": 16667,
      "problem_name": "Harder Satisfiability",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "I",
      "problem_id": 16668,
      "problem_name": "Interval-Free Permutations",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "J",
      "problem_id": 16669,
      "problem_name": "JS Minification",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1972,
      "problem_letter": "K",
      "problem_id": 16670,
      "problem_name": "King Kog’s Reception",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "L",
      "problem_id": 16671,
      "problem_name": "Lazyland",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1972,
      "problem_letter": "M",
      "problem_id": 16672,
      "problem_name": "Minegraphed",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "A",
      "problem_id": 16406,
      "problem_name": "Exam",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "B",
      "problem_id": 16409,
      "problem_name": "Coprime Integers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "inclusion and exclusion",
        "möbius inversion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "inclusion_and_exclusion",
        "mobius_inversion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "C",
      "problem_id": 16688,
      "problem_name": "Contest Setting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "D",
      "problem_id": 16417,
      "problem_name": "Count the Bits",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "E",
      "problem_id": 16407,
      "problem_name": "Cops and Robbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "F",
      "problem_id": 16421,
      "problem_name": "Rectangles",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "G",
      "problem_id": 16410,
      "problem_name": "Goat Rope",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "H",
      "problem_id": 16424,
      "problem_name": "Repeating Goldbachs",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "I",
      "problem_id": 16418,
      "problem_name": "Inversions",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull trick",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "cht",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "J",
      "problem_id": 16427,
      "problem_name": "Time Limits",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "K",
      "problem_id": 16419,
      "problem_name": "Knockout",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "implementation",
        "mathematics",
        "probability theory",
        "tree"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_tree",
        "implementation",
        "math",
        "probability",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "L",
      "problem_id": 16689,
      "problem_name": "Liars",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1976,
      "problem_letter": "M",
      "problem_id": 16414,
      "problem_name": "Mobilization",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "N",
      "problem_id": 16406,
      "problem_name": "Exam",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "O",
      "problem_id": 16690,
      "problem_name": "Paper Cuts",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "P",
      "problem_id": 16688,
      "problem_name": "Contest Setting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "Q",
      "problem_id": 16408,
      "problem_name": "Poker Hand",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "R",
      "problem_id": 16691,
      "problem_name": "House Numbers",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "two-pointer"
      ],
      "tag_keys": [
        "math",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "S",
      "problem_id": 16692,
      "problem_name": "Greedy Scheduler",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "T",
      "problem_id": 16410,
      "problem_name": "Goat Rope",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "U",
      "problem_id": 16424,
      "problem_name": "Repeating Goldbachs",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "V",
      "problem_id": 16425,
      "problem_name": "Random Index Vectors",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "two-pointer"
      ],
      "tag_keys": [
        "implementation",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "W",
      "problem_id": 16427,
      "problem_name": "Time Limits",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "X",
      "problem_id": 16419,
      "problem_name": "Knockout",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "implementation",
        "mathematics",
        "probability theory",
        "tree"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_tree",
        "implementation",
        "math",
        "probability",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "Y",
      "problem_id": 16689,
      "problem_name": "Liars",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 1977,
      "problem_letter": "Z",
      "problem_id": 16693,
      "problem_name": "Pizza Deal",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "A",
      "problem_id": 16694,
      "problem_name": "The ABCD Murderer",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "string",
        "tree",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "string",
        "trees",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "B",
      "problem_id": 16695,
      "problem_name": "The Bridge on the River Kawaii",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "divide and conquer",
        "offline queries",
        "offline dynamic connectivity"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "divide_and_conquer",
        "offline_queries",
        "offline_dynamic_connectivity"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "offline_dynamic_connectivity",
          "name": "offline dynamic connectivity",
          "boj_tag_id": 52
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "C",
      "problem_id": 16696,
      "problem_name": "Clockwork ||ange",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "breadth-first search",
        "bitmask",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "ad_hoc",
        "bfs",
        "bitmask",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "D",
      "problem_id": 16697,
      "problem_name": "Reservoir Dog",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "case work",
        "mathematics",
        "physics"
      ],
      "tag_keys": [
        "binary_search",
        "case_work",
        "math",
        "physics"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "G",
      "problem_id": 16698,
      "problem_name": "Trees Gump",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "constructive",
        "depth-first search",
        "geometry",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "dfs",
        "geometry",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "H",
      "problem_id": 16699,
      "problem_name": "Incredible Hull",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "sorting",
        "geometry",
        "convex hull",
        "planar graph",
        "angle sorting"
      ],
      "tag_keys": [
        "graphs",
        "sorting",
        "geometry",
        "convex_hull",
        "planar_graph",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "I",
      "problem_id": 16700,
      "problem_name": "Shooter Island",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "K",
      "problem_id": 16701,
      "problem_name": "The Lord of the Kings",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1978,
      "problem_letter": "L",
      "problem_id": 16702,
      "problem_name": "The Silence of the Lamps",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "M",
      "problem_id": 16703,
      "problem_name": "Matrice",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1978,
      "problem_letter": "R",
      "problem_id": 16704,
      "problem_name": "Mirrority Report",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1978,
      "problem_letter": "S",
      "problem_id": 16705,
      "problem_name": "Game of Stones",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "case work",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "case_work",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "A",
      "problem_id": 16727,
      "problem_name": "ICPC",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "B",
      "problem_id": 16728,
      "problem_name": "Chaarshanbegaan at Cafebazaar",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "arithmetic",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "arithmetic",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "C",
      "problem_id": 16729,
      "problem_name": "Cinema",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "D",
      "problem_id": 16730,
      "problem_name": "Nader Shah",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "priority queue",
        "topological sorting",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "priority_queue",
        "topological_sorting",
        "dag"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "E",
      "problem_id": 16731,
      "problem_name": "JackRabbit Slim",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "F",
      "problem_id": 16732,
      "problem_name": "Imputation",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "G",
      "problem_id": 16733,
      "problem_name": "Relay Race",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "convex hull",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "H",
      "problem_id": 16734,
      "problem_name": "T-net",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "I",
      "problem_id": 16735,
      "problem_name": "Congestion Charging Zone",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 1980,
      "problem_letter": "J",
      "problem_id": 16736,
      "problem_name": "Image Processing Project",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 1980,
      "problem_letter": "K",
      "problem_id": 16737,
      "problem_name": "Python Classes",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "disjoint set",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "parsing",
        "strongly connected component",
        "string",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "dp",
        "dp_tree",
        "graphs",
        "parsing",
        "scc",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "A",
      "problem_id": 16739,
      "problem_name": "Digits Are Not Just Characters",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "B",
      "problem_id": 16740,
      "problem_name": "Arithmetic Progressions",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "data structures",
        "set / map"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "set"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "C",
      "problem_id": 16741,
      "problem_name": "Emergency Evacuation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "sorting",
        "grid graph"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "D",
      "problem_id": 16742,
      "problem_name": "Shortest Common Non-Subsequence",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "E",
      "problem_id": 16743,
      "problem_name": "Eulerian Flight Tour",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "graph traversal",
        "case work",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "case_work",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "F",
      "problem_id": 16744,
      "problem_name": "Fair Chocolate-Cutting",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "two-pointer",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "two_pointer",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "G",
      "problem_id": 16745,
      "problem_name": "What Goes Up Must Come Down",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "H",
      "problem_id": 16746,
      "problem_name": "Four-Coloring",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "planar graph"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "I",
      "problem_id": 16747,
      "problem_name": "Ranks",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bit set",
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "bitset",
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "J",
      "problem_id": 16748,
      "problem_name": "Colorful Tree",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "set / map",
        "set / map by trees",
        "lowest common ancestor",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "set",
        "tree_set",
        "lca",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 1982,
      "problem_letter": "K",
      "problem_id": 16749,
      "problem_name": "Sixth Sense",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "greedy"
      ],
      "tag_keys": [
        "binary_search",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "A",
      "problem_id": 16866,
      "problem_name": "Car Vet",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "B",
      "problem_id": 16867,
      "problem_name": "Difference",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "C",
      "problem_id": 16868,
      "problem_name": "Pear-wise Voting",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "D",
      "problem_id": 16869,
      "problem_name": "Pizza Cutting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2001,
      "problem_letter": "E",
      "problem_id": 16870,
      "problem_name": "The Punctilious Cruciverbalist",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "F",
      "problem_id": 16871,
      "problem_name": "A Random Problem",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2001,
      "problem_letter": "G",
      "problem_id": 16872,
      "problem_name": "Roman Holidays",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "case work",
        "mathematics",
        "parsing",
        "sorting",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "case_work",
        "math",
        "parsing",
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "H",
      "problem_id": 16873,
      "problem_name": "Sequential Yahtzee",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2001,
      "problem_letter": "I",
      "problem_id": 16874,
      "problem_name": "Tours de Sales Force",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "maximum flow",
        "hungarian",
        "minimum cost maximum flow",
        "travelling salesman problem",
        "graph theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "flow",
        "hungarian",
        "mcmf",
        "tsp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "J",
      "problem_id": 16875,
      "problem_name": "Watch Where You Step",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "floyd–warshall",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "floyd_warshall",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "PA",
      "problem_id": 16860,
      "problem_name": "Are You Listening?",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "sorting",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "sorting",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "PB",
      "problem_id": 16861,
      "problem_name": "Harshad Numbers",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "PC",
      "problem_id": 16862,
      "problem_name": "An I for an Eye",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "PD",
      "problem_id": 16863,
      "problem_name": "Score!",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "PE",
      "problem_id": 16864,
      "problem_name": "So You Like Your Food Hot?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 2001,
      "problem_letter": "PF",
      "problem_id": 16865,
      "problem_name": "The Ups and Downs of Investing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "A",
      "problem_id": 16995,
      "problem_name": "Piece of Cake",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "geometry",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "B",
      "problem_id": 16996,
      "problem_name": "Busy Board",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "C",
      "problem_id": 16997,
      "problem_name": "Cost of Living",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2003,
      "problem_letter": "D",
      "problem_id": 16998,
      "problem_name": "It’s a Mod, Mod, Mod, Mod World",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm",
        "sum of floor of rational arithmetic sequence"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean",
        "floor_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "floor_sum",
          "name": "sum of floor of rational arithmetic sequence",
          "boj_tag_id": 218
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "E",
      "problem_id": 16999,
      "problem_name": "Monotony",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "F",
      "problem_id": 17000,
      "problem_name": "Heaps of Fun",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "mathematics",
        "tree"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "dp_tree",
        "math",
        "trees"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "G",
      "problem_id": 17001,
      "problem_name": "Intersecting Rectangles",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "set / map",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "H",
      "problem_id": 17002,
      "problem_name": "Rocket Powered Hovercraft",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2003,
      "problem_letter": "I",
      "problem_id": 17003,
      "problem_name": "Cutting Strings",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "hashing",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "hashing",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "J",
      "problem_id": 17004,
      "problem_name": "Subsequences in Substrings",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "bruteforcing",
        "dynamic programming"
      ],
      "tag_keys": [
        "binary_search",
        "bruteforcing",
        "dp"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "K",
      "problem_id": 17005,
      "problem_name": "Knight of the Tarot Cards",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "graph theory",
        "number theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "number_theory",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "L",
      "problem_id": 17006,
      "problem_name": "Planes, Trains, but not Automobiles",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2003,
      "problem_letter": "M",
      "problem_id": 17007,
      "problem_name": "XOR Sequences",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "divide and conquer"
      ],
      "tag_keys": [
        "ad_hoc",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 2017,
      "problem_letter": "A",
      "problem_id": 17057,
      "problem_name": "Alice in the Digital World",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2017,
      "problem_letter": "B",
      "problem_id": 17058,
      "problem_name": "Reservoir",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "data structures",
        "binary search",
        "prefix sum",
        "stack"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "binary_search",
        "prefix_sum",
        "stack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2017,
      "problem_letter": "C",
      "problem_id": 17059,
      "problem_name": "Terraced fields",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "D",
      "problem_id": 17060,
      "problem_name": "Message",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "E",
      "problem_id": 17061,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "F",
      "problem_id": 17062,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "G",
      "problem_id": 17063,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "H",
      "problem_id": 17064,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "I",
      "problem_id": 17065,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "J",
      "problem_id": 17066,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "K",
      "problem_id": 17067,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2017,
      "problem_letter": "L",
      "problem_id": 17068,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2021,
      "problem_letter": "A",
      "problem_id": 17150,
      "problem_name": "Azulejos",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "B",
      "problem_id": 17151,
      "problem_name": "Beautiful Bridges",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "C",
      "problem_id": 17152,
      "problem_name": "Checks Post Facto",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation",
        "backtracking",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "simulation",
        "backtracking",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "D",
      "problem_id": 17153,
      "problem_name": "Circular DNA",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "E",
      "problem_id": 17154,
      "problem_name": "Dead-End Detector",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "F",
      "problem_id": 17155,
      "problem_name": "Directing Rainfall",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "directed acyclic graph",
        "data structures",
        "dynamic programming",
        "geometry",
        "graph theory",
        "implementation",
        "segment tree",
        "sweeping",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "data_structures",
        "dp",
        "geometry",
        "graphs",
        "implementation",
        "segtree",
        "sweeping",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "G",
      "problem_id": 17156,
      "problem_name": "First of Her Name",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "string",
        "tree",
        "binary search",
        "trie",
        "suffix array and lcp array",
        "aho-corasick"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "string",
        "trees",
        "binary_search",
        "trie",
        "suffix_array",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "H",
      "problem_id": 17157,
      "problem_name": "Hobson’s Trains",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "smaller to larger technique",
        "functional graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "smaller_to_larger",
        "functional_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "I",
      "problem_id": 17158,
      "problem_name": "Karel the Robot",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "string",
        "graph traversal",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "string",
        "graph_traversal",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "J",
      "problem_id": 17159,
      "problem_name": "Miniature Golf",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2021,
      "problem_letter": "K",
      "problem_id": 17160,
      "problem_name": "Traffic Blights",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 2057,
      "problem_letter": "A",
      "problem_id": 23182,
      "problem_name": "APL Lives!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "B",
      "problem_id": 23183,
      "problem_name": "Barcodes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "C",
      "problem_id": 23184,
      "problem_name": "Tracking Bio-bots",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "D",
      "problem_id": 23185,
      "problem_name": "Castles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "E",
      "problem_id": 17426,
      "problem_name": "Channel",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "dynamic programming",
        "traceback",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "dp",
        "traceback",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 2057,
      "problem_letter": "F",
      "problem_id": 23186,
      "problem_name": "Contour Mapping",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "G",
      "problem_id": 23187,
      "problem_name": "The Islands",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "H",
      "problem_id": 23188,
      "problem_name": "Rain",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "I",
      "problem_id": 23189,
      "problem_name": "Robots on Ice",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "J",
      "problem_id": 23190,
      "problem_name": "Sharing Chocolate",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2057,
      "problem_letter": "K",
      "problem_id": 23191,
      "problem_name": "Paperweight",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2064,
      "problem_letter": "A",
      "problem_id": 17519,
      "problem_name": "All You Need is Dating",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2064,
      "problem_letter": "B",
      "problem_id": 17520,
      "problem_name": "Balanced String",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "C",
      "problem_id": 17521,
      "problem_name": "Byte Coin",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "D",
      "problem_id": 17522,
      "problem_name": "Canal",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "two-pointer"
      ],
      "tag_keys": [
        "binary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "E",
      "problem_id": 17523,
      "problem_name": "Choreography",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "F",
      "problem_id": 17524,
      "problem_name": "Dryer",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "bruteforcing",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "ad_hoc",
        "bruteforcing",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "G",
      "problem_id": 17525,
      "problem_name": "Enumeration",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "constructive",
        "case work",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "H",
      "problem_id": 17626,
      "problem_name": "Four Squares",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "I",
      "problem_id": 7287,
      "problem_name": "등록",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "J",
      "problem_id": 17526,
      "problem_name": "Star Trek",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "convex hull trick",
        "li–chao tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "cht",
        "li_chao_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "K",
      "problem_id": 17527,
      "problem_name": "Steel Slicing",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "divide and conquer",
        "divide and conquer optimization",
        "dynamic programming",
        "greedy",
        "monotone queue optimization"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "divide_and_conquer_optimization",
        "dp",
        "greedy",
        "monotone_queue_optimization"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "monotone_queue_optimization",
          "name": "monotone queue optimization",
          "boj_tag_id": 165
        }
      ]
    },
    {
      "contest_id": 2064,
      "problem_letter": "L",
      "problem_id": 17528,
      "problem_name": "Two Machines",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "A",
      "problem_id": 17529,
      "problem_name": "Artwork",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "geometry",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "B",
      "problem_id": 17530,
      "problem_name": "Buffoon",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "C",
      "problem_id": 17531,
      "problem_name": "Crossings With Danger",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2065,
      "problem_letter": "D",
      "problem_id": 17532,
      "problem_name": "Denouncing Mafia",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "E",
      "problem_id": 17533,
      "problem_name": "Exhibition of Clownfish",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "greedy",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "F",
      "problem_id": 17534,
      "problem_name": "Forests in Danger",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "G",
      "problem_id": 17535,
      "problem_name": "Getting Confidence",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "H",
      "problem_id": 17536,
      "problem_name": "Hour for a Run",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "I",
      "problem_id": 17537,
      "problem_name": "Interplanetary",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "J",
      "problem_id": 17538,
      "problem_name": "Jar of Water Game",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "K",
      "problem_id": 17539,
      "problem_name": "Keep Calm and Sell Balloons",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "exponentiation by squaring",
        "berlekamp–massey"
      ],
      "tag_keys": [
        "math",
        "dp",
        "exponentiation_by_squaring",
        "berlekamp_massey"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "berlekamp_massey",
          "name": "berlekamp–massey",
          "boj_tag_id": 110
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "L",
      "problem_id": 17540,
      "problem_name": "Less Coin Tosses",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2065,
      "problem_letter": "M",
      "problem_id": 17541,
      "problem_name": "Maratona Brasileira de Popcorn",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "A",
      "problem_id": 17542,
      "problem_name": "Architecture",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "B",
      "problem_id": 17543,
      "problem_name": "Bracket Sequence",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "C",
      "problem_id": 17544,
      "problem_name": "Canyon Crossing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "0-1 bfs",
        "binary search",
        "dijkstra's",
        "graph theory",
        "parametric search",
        "shortest path"
      ],
      "tag_keys": [
        "0_1_bfs",
        "binary_search",
        "dijkstra",
        "graphs",
        "parametric_search",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "D",
      "problem_id": 17545,
      "problem_name": "Deceptive Dice",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "E",
      "problem_id": 17546,
      "problem_name": "Exits in Excess",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "dag"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "F",
      "problem_id": 17547,
      "problem_name": "Floor Plan",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "G",
      "problem_id": 17548,
      "problem_name": "Greetings!",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "H",
      "problem_id": 17549,
      "problem_name": "Hexagonal Rooks",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "I",
      "problem_id": 17550,
      "problem_name": "Inquiry I",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "J",
      "problem_id": 17551,
      "problem_name": "Jumbled Journey",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "directed acyclic graph",
        "dynamic programming",
        "graph theory",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "dp",
        "graphs",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "K",
      "problem_id": 17552,
      "problem_name": "Knapsack Packing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "sorting",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2066,
      "problem_letter": "L",
      "problem_id": 17553,
      "problem_name": "Lifeguards",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "constructive",
        "geometry"
      ],
      "tag_keys": [
        "constructive",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "A",
      "problem_id": 17554,
      "problem_name": "City of Lights",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "B",
      "problem_id": 17555,
      "problem_name": "Blurred Pictures",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "C",
      "problem_id": 17556,
      "problem_name": "Crosswords",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "ad-hoc",
        "backtracking"
      ],
      "tag_keys": [
        "ad_hoc",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "D",
      "problem_id": 17557,
      "problem_name": "Monument Tour",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "E",
      "problem_id": 17558,
      "problem_name": "Rounding",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "F",
      "problem_id": 17559,
      "problem_name": "Paris by Night",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "G",
      "problem_id": 17560,
      "problem_name": "Strings",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "string",
        "prefix sum",
        "divide and conquer"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "H",
      "problem_id": 17561,
      "problem_name": "Travel Guide",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "graph theory",
        "segment tree",
        "shortest path",
        "dijkstra's",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "segtree",
        "shortest_path",
        "dijkstra",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "I",
      "problem_id": 17562,
      "problem_name": "Mason’s Mark",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "J",
      "problem_id": 17563,
      "problem_name": "Mona Lisa",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "randomization",
        "square root decomposition",
        "birthday problem"
      ],
      "tag_keys": [
        "randomization",
        "sqrt_decomposition",
        "birthday"
      ],
      "tag_details": [
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        },
        {
          "key": "birthday",
          "name": "birthday problem",
          "boj_tag_id": 203
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "K",
      "problem_id": 17564,
      "problem_name": "Dishonest Driver",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "string",
        "hashing"
      ],
      "tag_keys": [
        "dp",
        "string",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "PA",
      "problem_id": 20372,
      "problem_name": "Late Party",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2067,
      "problem_letter": "PB",
      "problem_id": 20373,
      "problem_name": "Flood",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2067,
      "problem_letter": "PC",
      "problem_id": 20374,
      "problem_name": "Big Money",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 2067,
      "problem_letter": "PD",
      "problem_id": 20375,
      "problem_name": "Paris Sightseeing for Groups",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2067,
      "problem_letter": "PE",
      "problem_id": 20376,
      "problem_name": "Counting Monuments",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "A",
      "problem_id": 17565,
      "problem_name": "Analogue Cluster",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "B",
      "problem_id": 17566,
      "problem_name": "Bus Logic",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "C",
      "problem_id": 17567,
      "problem_name": "Code Word",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "D",
      "problem_id": 17568,
      "problem_name": "Dynamo Wheel",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "sorting",
        "geometry",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "E",
      "problem_id": 17569,
      "problem_name": "Evenly Divided",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "heuristics",
        "randomization"
      ],
      "tag_keys": [
        "heuristics",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "F",
      "problem_id": 17570,
      "problem_name": "Fibonacci Compression",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "G",
      "problem_id": 17571,
      "problem_name": "Garden Variety Vampire",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2068,
      "problem_letter": "H",
      "problem_id": 17572,
      "problem_name": "Hamster Ball",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "I",
      "problem_id": 17573,
      "problem_name": "Internet Upload",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "J",
      "problem_id": 17574,
      "problem_name": "Jackpot",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "probability theory",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "probability",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "K",
      "problem_id": 17575,
      "problem_name": "Kings",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "hungarian"
      ],
      "tag_keys": [
        "hungarian"
      ],
      "tag_details": [
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        }
      ]
    },
    {
      "contest_id": 2068,
      "problem_letter": "L",
      "problem_id": 17576,
      "problem_name": "Last Word",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "A",
      "problem_id": 17577,
      "problem_name": "Scores of Final Examination",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "B",
      "problem_id": 17578,
      "problem_name": "On-Screen Keyboard",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "C",
      "problem_id": 17579,
      "problem_name": "Balance Scale",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "implementation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "data_structures",
        "hash_set",
        "implementation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "D",
      "problem_id": 17580,
      "problem_name": "Tally Counters",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "E",
      "problem_id": 17581,
      "problem_name": "Cube Surface Puzzle",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "F",
      "problem_id": 17582,
      "problem_name": "Flipping Colors",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "constructive",
        "graph theory",
        "graph traversal",
        "minimum spanning tree",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "graphs",
        "graph_traversal",
        "mst",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2069,
      "problem_letter": "G",
      "problem_id": 17583,
      "problem_name": "Let's Move Tiles!",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2069,
      "problem_letter": "H",
      "problem_id": 17584,
      "problem_name": "Addition on Convex Polygons",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "number theory",
        "euclidean algorithm",
        "convex hull",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "number_theory",
        "euclidean",
        "convex_hull",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "A",
      "problem_id": 17585,
      "problem_name": "Circuit Math",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "B",
      "problem_id": 17586,
      "problem_name": "Diagonal Cut",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "euclidean algorithm",
        "parity"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "euclidean",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "C",
      "problem_id": 17587,
      "problem_name": "Gerrymandering",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "D",
      "problem_id": 17588,
      "problem_name": "Missing Numbers",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "E",
      "problem_id": 17589,
      "problem_name": "NVWLS",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "aho-corasick",
        "data structures",
        "dynamic programming",
        "hashing",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "data_structures",
        "dp",
        "hashing",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "F",
      "problem_id": 17590,
      "problem_name": "Prospecting",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "greedy",
        "priority queue",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "greedy",
        "priority_queue",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "G",
      "problem_id": 17591,
      "problem_name": "Research Productivity Index",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "H",
      "problem_id": 17592,
      "problem_name": "Running Routes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "I",
      "problem_id": 17593,
      "problem_name": "Slow Leak",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dijkstra's",
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "J",
      "problem_id": 17594,
      "problem_name": "Stop Counting!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "K",
      "problem_id": 17595,
      "problem_name": "Summer Trip",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "string"
      ],
      "tag_keys": [
        "ad_hoc",
        "string"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "L",
      "problem_id": 17596,
      "problem_name": "Traveling Merchant",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "data structures",
        "segment tree",
        "square root decomposition"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "segtree",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 2070,
      "problem_letter": "M",
      "problem_id": 17597,
      "problem_name": "Zipline",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "geometry",
        "ternary search",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "ternary_search",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "A",
      "problem_id": 17598,
      "problem_name": "Animal King Election",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "B",
      "problem_id": 17599,
      "problem_name": "Bags",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "C",
      "problem_id": 17600,
      "problem_name": "Change Making",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "D",
      "problem_id": 17601,
      "problem_name": "Disrupting Defense",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "E",
      "problem_id": 17602,
      "problem_name": "Explosion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "constructive",
        "case work",
        "arbitrary precision / big integers",
        "randomization",
        "heuristics",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "geometry",
        "constructive",
        "case_work",
        "arbitrary_precision",
        "randomization",
        "heuristics",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "F",
      "problem_id": 17603,
      "problem_name": "Factorization",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "number theory",
        "discrete square root"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "discrete_sqrt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "discrete_sqrt",
          "name": "discrete square root",
          "boj_tag_id": 147
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "G",
      "problem_id": 17604,
      "problem_name": "Gifted Bafuko",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "graph theory",
        "ad-hoc",
        "constructive",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "ad_hoc",
        "constructive",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "H",
      "problem_id": 17605,
      "problem_name": "Hotel",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 2071,
      "problem_letter": "I",
      "problem_id": 17606,
      "problem_name": "Integral Points",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "number theory",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "A",
      "problem_id": 17782,
      "problem_name": "Appeal to the Audience",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "B",
      "problem_id": 17783,
      "problem_name": "Breaking Branches",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "game theory",
        "parity"
      ],
      "tag_keys": [
        "math",
        "game_theory",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "C",
      "problem_id": 17784,
      "problem_name": "Conveyor Belts",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "D",
      "problem_id": 17785,
      "problem_name": "Deck Randomisation",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "chinese remainder theorem",
        "mathematics",
        "number theory",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "crt",
        "math",
        "number_theory",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "E",
      "problem_id": 17786,
      "problem_name": "Efficient Exchange",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "F",
      "problem_id": 17787,
      "problem_name": "Find my Family",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "binary search",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "binary_search",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "G",
      "problem_id": 17788,
      "problem_name": "Gluttonous Goop",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "H",
      "problem_id": 17789,
      "problem_name": "Historic Exhibition",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "I",
      "problem_id": 17790,
      "problem_name": "Inquiry II",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "tree",
        "bitmask",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "trees",
        "bitmask",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "J",
      "problem_id": 17791,
      "problem_name": "Jazz it Up!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "K",
      "problem_id": 17792,
      "problem_name": "Keep Him Inside",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "geometry",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2094,
      "problem_letter": "L",
      "problem_id": 17793,
      "problem_name": "Lucky Draw",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "A",
      "problem_id": 17794,
      "problem_name": "Automatic Accountant",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "B",
      "problem_id": 17795,
      "problem_name": "Ballpark Estimate",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "string"
      ],
      "tag_keys": [
        "math",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "C",
      "problem_id": 17796,
      "problem_name": "Crooked Dealing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "D",
      "problem_id": 17797,
      "problem_name": "Dome Construction",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "sorting",
        "geometry",
        "geometry; 3d",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "geometry_3d",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "E",
      "problem_id": 17798,
      "problem_name": "Estate Agent",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "F",
      "problem_id": 17799,
      "problem_name": "Feeding Seals",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "G",
      "problem_id": 17800,
      "problem_name": "Grand Central Station",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "hashing"
      ],
      "tag_keys": [
        "hashing"
      ],
      "tag_details": [
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "H",
      "problem_id": 17801,
      "problem_name": "Hat Stand",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "I",
      "problem_id": 17802,
      "problem_name": "Integral Pyramid",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "constructive",
        "mathematics"
      ],
      "tag_keys": [
        "constructive",
        "math"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "J",
      "problem_id": 17803,
      "problem_name": "Jammed Gym",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "K",
      "problem_id": 17804,
      "problem_name": "Knocked Ink",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "sorting",
        "geometry",
        "binary search",
        "calculus",
        "boolean operations on geometric objects",
        "green's theorem"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry",
        "binary_search",
        "calculus",
        "geometric_boolean_operations",
        "green"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        },
        {
          "key": "green",
          "name": "green's theorem",
          "boj_tag_id": 183
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "L",
      "problem_id": 17805,
      "problem_name": "Low Effort League",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2095,
      "problem_letter": "M",
      "problem_id": 17806,
      "problem_name": "Mosaic Mansion",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "hashing",
        "meet in the middle"
      ],
      "tag_keys": [
        "hashing",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 2096,
      "problem_letter": "B",
      "problem_id": 17807,
      "problem_name": "Beer Barrels",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "combinatorics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2096,
      "problem_letter": "B",
      "problem_id": 17808,
      "problem_name": "Beer Bill",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2096,
      "problem_letter": "C",
      "problem_id": 17809,
      "problem_name": "Beer Coasters",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "case work",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "case_work",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 2096,
      "problem_letter": "F",
      "problem_id": 17810,
      "problem_name": "Beer Flood System",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2096,
      "problem_letter": "G",
      "problem_id": 17811,
      "problem_name": "Beer Can Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2096,
      "problem_letter": "M",
      "problem_id": 17812,
      "problem_name": "Beer Marathon",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ternary search"
      ],
      "tag_keys": [
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 2096,
      "problem_letter": "M",
      "problem_id": 17813,
      "problem_name": "Beer Mugs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2096,
      "problem_letter": "S",
      "problem_id": 17814,
      "problem_name": "Screamers in the Storm",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2096,
      "problem_letter": "S",
      "problem_id": 17815,
      "problem_name": "Sixpack",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2096,
      "problem_letter": "V",
      "problem_id": 17816,
      "problem_name": "Beer Vision",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "A",
      "problem_id": 17852,
      "problem_name": "Retribution!",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "B",
      "problem_id": 17853,
      "problem_name": "Bio Trip",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "C",
      "problem_id": 17854,
      "problem_name": "Cheese, If You Please",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "linear programming"
      ],
      "tag_keys": [
        "linear_programming"
      ],
      "tag_details": [
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "D",
      "problem_id": 17855,
      "problem_name": "Follow the Bouncing Ball",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "E",
      "problem_id": 17856,
      "problem_name": "Just Passing Through",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "F",
      "problem_id": 17857,
      "problem_name": "Musical Chairs",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "G",
      "problem_id": 17858,
      "problem_name": "Out of Sorts",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "binary search",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "binary_search",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "H",
      "problem_id": 17859,
      "problem_name": "Remainder Reminder",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "I",
      "problem_id": 17860,
      "problem_name": "Square Rooms",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "backtracking",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "J",
      "problem_id": 17861,
      "problem_name": "Taxed Editor",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "greedy",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "K",
      "problem_id": 17862,
      "problem_name": "Where Have You Bin?",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "PA",
      "problem_id": 17846,
      "problem_name": "Chopping on Line",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2098,
      "problem_letter": "PB",
      "problem_id": 17847,
      "problem_name": "Diamonds Are for Evers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "PC",
      "problem_id": 17848,
      "problem_name": "Flight Turbulence",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "PD",
      "problem_id": 17849,
      "problem_name": "Hardware Sales",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "PE",
      "problem_id": 17850,
      "problem_name": "Make America Grade Again",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2098,
      "problem_letter": "PF",
      "problem_id": 17851,
      "problem_name": "This Problem’s a Slam Dunk",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "A",
      "problem_id": 17863,
      "problem_name": "FYI",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "B",
      "problem_id": 17864,
      "problem_name": "Remdoku",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2099,
      "problem_letter": "C",
      "problem_id": 17865,
      "problem_name": "Pass the Buck",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2099,
      "problem_letter": "D",
      "problem_id": 17866,
      "problem_name": "Gerrymandering Criterion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "case work",
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "case_work",
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "E",
      "problem_id": 17867,
      "problem_name": "Circle Garden",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "geometry",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "F",
      "problem_id": 17868,
      "problem_name": "Origami Fold",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2099,
      "problem_letter": "G",
      "problem_id": 17869,
      "problem_name": "Simple Collatz Sequence",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "H",
      "problem_id": 17870,
      "problem_name": "Problematic Public Keys",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "data structures",
        "bruteforcing",
        "number theory",
        "set / map",
        "set / map by hashing",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "bruteforcing",
        "number_theory",
        "set",
        "hash_set",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "I",
      "problem_id": 17871,
      "problem_name": "Integers in Rational Bases",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "J",
      "problem_id": 17872,
      "problem_name": "How Many Unicycles in a Wheel?",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2099,
      "problem_letter": "K",
      "problem_id": 17873,
      "problem_name": "Regional Team Names",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "A",
      "problem_id": 17874,
      "problem_name": "Piece of Cake!",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "B",
      "problem_id": 17875,
      "problem_name": "Fantasy Draft",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "C",
      "problem_id": 17876,
      "problem_name": "Folding a Cube",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "geometry",
        "simulation",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "simulation",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "D",
      "problem_id": 17877,
      "problem_name": "Integer Division",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "data structures",
        "sorting",
        "set / map",
        "combinatorics",
        "set / map by hashing",
        "two-pointer"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "sorting",
        "set",
        "combinatorics",
        "hash_set",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "E",
      "problem_id": 17878,
      "problem_name": "Hogwarts",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "F",
      "problem_id": 17879,
      "problem_name": "Molecules",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "geometry",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "G",
      "problem_id": 17880,
      "problem_name": "Typo",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "H",
      "problem_id": 17881,
      "problem_name": "The Biggest Triangle",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bruteforcing",
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "I",
      "problem_id": 17882,
      "problem_name": "Tired Terry",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "J",
      "problem_id": 17883,
      "problem_name": "Watch Later",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 2100,
      "problem_letter": "K",
      "problem_id": 17884,
      "problem_name": "Lost Lineup",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "A",
      "problem_id": 17955,
      "problem_name": "Max or Min",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "B",
      "problem_id": 17956,
      "problem_name": "Level Up",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "C",
      "problem_id": 17957,
      "problem_name": "Find the Array",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc",
        "binary search",
        "bitmask",
        "divide and conquer"
      ],
      "tag_keys": [
        "ad_hoc",
        "binary_search",
        "bitmask",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "D",
      "problem_id": 17958,
      "problem_name": "Cycle String?",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "E",
      "problem_id": 17959,
      "problem_name": "Life Transfer",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "F",
      "problem_id": 17962,
      "problem_name": "Game on a Tree",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "G",
      "problem_id": 17963,
      "problem_name": "Projection",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "H",
      "problem_id": 17964,
      "problem_name": "Tree Permutations",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "ad-hoc",
        "data structures",
        "set / map by hashing",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "ad_hoc",
        "data_structures",
        "hash_set",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "I",
      "problem_id": 17965,
      "problem_name": "Absolute Game",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "game theory"
      ],
      "tag_keys": [
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "J",
      "problem_id": 17966,
      "problem_name": "Graph and Cycles",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "greedy"
      ],
      "tag_keys": [
        "graphs",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2110,
      "problem_letter": "K",
      "problem_id": 17967,
      "problem_name": "Stranded Robot",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "A",
      "problem_id": 17968,
      "problem_name": "Fire on Field",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "B",
      "problem_id": 17969,
      "problem_name": "Gene Tree",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "C",
      "problem_id": 17970,
      "problem_name": "Islands",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "D",
      "problem_id": 17971,
      "problem_name": "Ladder Game",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "E",
      "problem_id": 17972,
      "problem_name": "Network Vulnerability",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "F",
      "problem_id": 17973,
      "problem_name": "Quadrilaterals",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "sweeping",
        "bulldozer trick"
      ],
      "tag_keys": [
        "geometry",
        "sweeping",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "G",
      "problem_id": 17974,
      "problem_name": "Same Color",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "H",
      "problem_id": 17975,
      "problem_name": "Strike Zone",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "value / coordinate compression",
        "maximum subarray"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "coordinate_compression",
        "maximum_subarray"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "maximum_subarray",
          "name": "maximum subarray",
          "boj_tag_id": 234
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "I",
      "problem_id": 17976,
      "problem_name": "Thread Knots",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "J",
      "problem_id": 17977,
      "problem_name": "Triangulation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "dp",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "K",
      "problem_id": 17978,
      "problem_name": "Washer",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 2111,
      "problem_letter": "L",
      "problem_id": 17979,
      "problem_name": "What’s Mine is Mine",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "A",
      "problem_id": 17991,
      "problem_name": "Carryless Square Root",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "B",
      "problem_id": 17992,
      "problem_name": "Computer Cache",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "offline queries",
        "difference array",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop",
        "offline_queries",
        "difference_array",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "C",
      "problem_id": 17993,
      "problem_name": "Elven Efficiency",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "D",
      "problem_id": 17994,
      "problem_name": "Swap Free",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "parity"
      ],
      "tag_keys": [
        "bipartite_matching",
        "parity"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "E",
      "problem_id": 17995,
      "problem_name": "Fixed Point Permutations",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "F",
      "problem_id": 17996,
      "problem_name": "Interstellar Travel",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "mathematics",
        "prefix sum",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "prefix_sum",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "G",
      "problem_id": 17997,
      "problem_name": "Jumping Path",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "segment tree",
        "longest increasing sequence problem",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "segtree",
        "lis",
        "hld"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "H",
      "problem_id": 17998,
      "problem_name": "Levenshtein Distance",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "I",
      "problem_id": 17999,
      "problem_name": "Maze Connect",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "J",
      "problem_id": 18000,
      "problem_name": "One of Each",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy"
      ],
      "tag_keys": [
        "data_structures",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2113,
      "problem_letter": "K",
      "problem_id": 18001,
      "problem_name": "Windmill Pivot",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "bruteforcing",
        "geometry",
        "bulldozer trick"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "geometry",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "A",
      "problem_id": 18002,
      "problem_name": "Balanced Animals",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "sorting",
        "binary search",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "binary_search",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "B",
      "problem_id": 17991,
      "problem_name": "Carryless Square Root",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "C",
      "problem_id": 18003,
      "problem_name": "Checkerboard",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "D",
      "problem_id": 18004,
      "problem_name": "From A to B",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "E",
      "problem_id": 17993,
      "problem_name": "Elven Efficiency",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "F",
      "problem_id": 18005,
      "problem_name": "Even or Odd?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "G",
      "problem_id": 18006,
      "problem_name": "Glow, Pixel, Glow!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "H",
      "problem_id": 17997,
      "problem_name": "Jumping Path",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "segment tree",
        "longest increasing sequence problem",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "segtree",
        "lis",
        "hld"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "I",
      "problem_id": 17998,
      "problem_name": "Levenshtein Distance",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "J",
      "problem_id": 18007,
      "problem_name": "Rainbow Strings",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "string",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "string",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2114,
      "problem_letter": "K",
      "problem_id": 18008,
      "problem_name": "ReMorse",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "A",
      "problem_id": 18018,
      "problem_name": "Alphabet Animals",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "B",
      "problem_id": 18019,
      "problem_name": "Building Boundaries",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "C",
      "problem_id": 18020,
      "problem_name": "Cocoa Coalition",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "D",
      "problem_id": 18021,
      "problem_name": "Dungeon Dawdler",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2116,
      "problem_letter": "E",
      "problem_id": 18022,
      "problem_name": "Eeny Meeny",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "deque"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "deque"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "F",
      "problem_id": 18023,
      "problem_name": "Flow Finder",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "G",
      "problem_id": 18024,
      "problem_name": "Game of Gnomes",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "H",
      "problem_id": 18025,
      "problem_name": "Hot Hike",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "I",
      "problem_id": 18026,
      "problem_name": "Incremental Induction",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "J",
      "problem_id": 18027,
      "problem_name": "Jealous Youngsters",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bipartite matching",
        "implementation",
        "stable marriage problem"
      ],
      "tag_keys": [
        "bipartite_matching",
        "implementation",
        "stable_marriage"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "stable_marriage",
          "name": "stable marriage problem",
          "boj_tag_id": 192
        }
      ]
    },
    {
      "contest_id": 2116,
      "problem_letter": "K",
      "problem_id": 18028,
      "problem_name": "Keep it Cool",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "A",
      "problem_id": 18029,
      "problem_name": "Algorithm Teaching",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "B",
      "problem_id": 18030,
      "problem_name": "Build the Perfect House",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "geometry",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "C",
      "problem_id": 18031,
      "problem_name": "Cut Inequality Down",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "D",
      "problem_id": 18032,
      "problem_name": "Dazzling Stars",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "sorting",
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "E",
      "problem_id": 18033,
      "problem_name": "Eggfruit Cake",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "F",
      "problem_id": 18034,
      "problem_name": "Fabricating Sculptures",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "G",
      "problem_id": 18035,
      "problem_name": "Gluing Pictures",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "H",
      "problem_id": 18036,
      "problem_name": "Hold or Continue?",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "I",
      "problem_id": 18037,
      "problem_name": "Improve SPAM",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "depth-first search",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "dfs",
        "dag"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "J",
      "problem_id": 18038,
      "problem_name": "Jumping Grasshopper",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "K",
      "problem_id": 18039,
      "problem_name": "Know your Aliens",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "arithmetic",
        "divide and conquer"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "L",
      "problem_id": 18040,
      "problem_name": "Leverage MDT",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2117,
      "problem_letter": "M",
      "problem_id": 18041,
      "problem_name": "Mountain Ranges",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "A",
      "problem_id": 18042,
      "problem_name": "Assimilation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "B",
      "problem_id": 18043,
      "problem_name": "Little Worm",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "tree"
      ],
      "tag_keys": [
        "trees"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "C",
      "problem_id": 18044,
      "problem_name": "Polygon",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "D",
      "problem_id": 18045,
      "problem_name": "Frogs",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "sorting",
        "sweeping",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "sweeping",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "E",
      "problem_id": 18046,
      "problem_name": "The Great Drone Show",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "binary search",
        "data structures",
        "disjoint set",
        "graph theory",
        "offline queries",
        "planar graph",
        "smaller to larger technique",
        "sparse table"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "disjoint_set",
        "graphs",
        "offline_queries",
        "planar_graph",
        "smaller_to_larger",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "F",
      "problem_id": 18047,
      "problem_name": "Fantastic compression",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "backtracking",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "G",
      "problem_id": 18048,
      "problem_name": "Bookstore",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "divide and conquer",
        "randomization",
        "segment tree",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "divide_and_conquer",
        "randomization",
        "segtree",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "H",
      "problem_id": 18049,
      "problem_name": "Cheese Game",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "I",
      "problem_id": 18050,
      "problem_name": "Henry Porter and the Palindromic Radius",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "manacher's",
        "string"
      ],
      "tag_keys": [
        "manacher",
        "string"
      ],
      "tag_details": [
        {
          "key": "manacher",
          "name": "manacher's",
          "boj_tag_id": 44
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "J",
      "problem_id": 18051,
      "problem_name": "Antennas",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "combinatorics",
        "data structures",
        "geometry",
        "line segment intersection check",
        "mathematics",
        "point in convex polygon check",
        "segment tree",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "combinatorics",
        "data_structures",
        "geometry",
        "line_intersection",
        "math",
        "point_in_convex_polygon",
        "segtree",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2118,
      "problem_letter": "K",
      "problem_id": 18052,
      "problem_name": "Ghost",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2118,
      "problem_letter": "L",
      "problem_id": 18053,
      "problem_name": "Donuts",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "data structures",
        "priority queue",
        "hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "priority_queue",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "A",
      "problem_id": 18054,
      "problem_name": "Assessing Genomes",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "B",
      "problem_id": 18055,
      "problem_name": "Bouldering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dijkstra's",
        "geometry",
        "graph theory",
        "pythagoras theorem",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "geometry",
        "graphs",
        "pythagoras",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "C",
      "problem_id": 18056,
      "problem_name": "Colourful Chameleons",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "D",
      "problem_id": 18057,
      "problem_name": "Dungeon Crawler",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "E",
      "problem_id": 18058,
      "problem_name": "Election Meddling",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "sorting",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "F",
      "problem_id": 18059,
      "problem_name": "Final Standings",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "G",
      "problem_id": 18060,
      "problem_name": "Game of Falling Blocks",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "H",
      "problem_id": 18061,
      "problem_name": "Historical Maths",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "binary_search",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "I",
      "problem_id": 18062,
      "problem_name": "Insertion Order",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "J",
      "problem_id": 18063,
      "problem_name": "Jazz Enthusiast",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "K",
      "problem_id": 18064,
      "problem_name": "Keeping the Dogs Out",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "greedy"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2119,
      "problem_letter": "L",
      "problem_id": 18065,
      "problem_name": "Long-Exposure Photography",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2119,
      "problem_letter": "M",
      "problem_id": 18066,
      "problem_name": "Move & Meet",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "constructive",
        "case work",
        "parity"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work",
        "parity"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "A",
      "problem_id": 18067,
      "problem_name": "Accurate Movement",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "B",
      "problem_id": 18068,
      "problem_name": "Bad Treap",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "constructive",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "C",
      "problem_id": 18069,
      "problem_name": "Cross-Stitch",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "case work",
        "depth-first search",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "case_work",
        "dfs",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "D",
      "problem_id": 18070,
      "problem_name": "Double Palindrome",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "E",
      "problem_id": 18071,
      "problem_name": "Equidistant",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "F",
      "problem_id": 18072,
      "problem_name": "Foreach",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2120,
      "problem_letter": "G",
      "problem_id": 18073,
      "problem_name": "Golf Time",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "H",
      "problem_id": 18074,
      "problem_name": "High Load Database",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "prefix sum"
      ],
      "tag_keys": [
        "binary_search",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "I",
      "problem_id": 18075,
      "problem_name": "Ideal Pyramid",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "J",
      "problem_id": 18076,
      "problem_name": "Just the Last Digit",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "K",
      "problem_id": 18077,
      "problem_name": "King’s Children",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "constructive",
        "divide and conquer",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "divide_and_conquer",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "L",
      "problem_id": 18078,
      "problem_name": "Lengths and Periods",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "string",
        "smaller to larger technique",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "smaller_to_larger",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 2120,
      "problem_letter": "M",
      "problem_id": 18079,
      "problem_name": "Managing Difficulties",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "A",
      "problem_id": 18080,
      "problem_name": "Average Rank",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "B",
      "problem_id": 18081,
      "problem_name": "Balanced Cut",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "C",
      "problem_id": 18082,
      "problem_name": "Canvas Line",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "D",
      "problem_id": 18083,
      "problem_name": "Disposable Switches",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "E",
      "problem_id": 18084,
      "problem_name": "Expeditious Cubing",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "F",
      "problem_id": 18085,
      "problem_name": "Firetrucks Are Red",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "data structures",
        "set / map",
        "disjoint set",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "set",
        "disjoint_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "G",
      "problem_id": 18086,
      "problem_name": "Gnoll Hypothesis",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "H",
      "problem_id": 18087,
      "problem_name": "Height Profile",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "I",
      "problem_id": 18088,
      "problem_name": "Inverted Deck",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "sorting",
        "constructive"
      ],
      "tag_keys": [
        "sorting",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "J",
      "problem_id": 18089,
      "problem_name": "Jackdaws And Crows",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "ad-hoc",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "ad_hoc",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "K",
      "problem_id": 18090,
      "problem_name": "Kitesurfing",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "case work",
        "dynamic programming"
      ],
      "tag_keys": [
        "case_work",
        "dp"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "PA",
      "problem_id": 20350,
      "problem_name": "Account Numbers",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2121,
      "problem_letter": "PB",
      "problem_id": 20351,
      "problem_name": "Brinkmanship",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2121,
      "problem_letter": "PC",
      "problem_id": 20352,
      "problem_name": "Circus",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "A",
      "problem_id": 18096,
      "problem_name": "Арифметическая магия",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "B",
      "problem_id": 18097,
      "problem_name": "Большие перемены",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "graph theory",
        "ad-hoc"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "C",
      "problem_id": 18098,
      "problem_name": "Совпадения",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "D",
      "problem_id": 18099,
      "problem_name": "Драфт НБА",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "E",
      "problem_id": 18100,
      "problem_name": "Думский регламент",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "F",
      "problem_id": 18101,
      "problem_name": "Правильный подмногоугольник",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "case work"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "G",
      "problem_id": 18102,
      "problem_name": "Есть ли делитель?",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "H",
      "problem_id": 18103,
      "problem_name": "ICPC",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "I",
      "problem_id": 18104,
      "problem_name": "Составление задач",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "J",
      "problem_id": 18105,
      "problem_name": "Порталы",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "K",
      "problem_id": 18106,
      "problem_name": "<<Контакт>> для двоих",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "tree",
        "trie",
        "convex hull trick"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "trie",
        "cht"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 2125,
      "problem_letter": "L",
      "problem_id": 18107,
      "problem_name": "Ближайшие точки",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "geometry",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "A",
      "problem_id": 18139,
      "problem_name": "Rush Hour Puzzle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "B",
      "problem_id": 18140,
      "problem_name": "The Power Monitor System",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "C",
      "problem_id": 18141,
      "problem_name": "Are They All Integers?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "D",
      "problem_id": 18142,
      "problem_name": "Tapioka",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "E",
      "problem_id": 18143,
      "problem_name": "The League of Sequence Designers",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "mathematics"
      ],
      "tag_keys": [
        "constructive",
        "math"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "F",
      "problem_id": 18144,
      "problem_name": "Miss Sloane",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2130,
      "problem_letter": "G",
      "problem_id": 18145,
      "problem_name": "Optimal Selection",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2130,
      "problem_letter": "H",
      "problem_id": 18146,
      "problem_name": "Mining a",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "I",
      "problem_id": 18147,
      "problem_name": "The Spectrum",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2130,
      "problem_letter": "J",
      "problem_id": 18148,
      "problem_name": "Automatic Control Machine",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "K",
      "problem_id": 18149,
      "problem_name": "Length of Bundle Rope",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "L",
      "problem_id": 18150,
      "problem_name": "Largest Quadrilateral",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "two-pointer",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "two_pointer",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 2130,
      "problem_letter": "M",
      "problem_id": 18151,
      "problem_name": "DivModulo",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "prime factorization",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "prime_factorization",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "A",
      "problem_id": 18152,
      "problem_name": "Radio Prize",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "B",
      "problem_id": 18000,
      "problem_name": "One of Each",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy"
      ],
      "tag_keys": [
        "data_structures",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "C",
      "problem_id": 18153,
      "problem_name": "Coloring Contention",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "D",
      "problem_id": 18004,
      "problem_name": "From A to B",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "E",
      "problem_id": 18007,
      "problem_name": "Rainbow Strings",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "string",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "string",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "F",
      "problem_id": 17995,
      "problem_name": "Fixed Point Permutations",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "G",
      "problem_id": 18006,
      "problem_name": "Glow, Pixel, Glow!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "H",
      "problem_id": 18001,
      "problem_name": "Windmill Pivot",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "bruteforcing",
        "geometry",
        "bulldozer trick"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "geometry",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "I",
      "problem_id": 17994,
      "problem_name": "Swap Free",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "parity"
      ],
      "tag_keys": [
        "bipartite_matching",
        "parity"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "J",
      "problem_id": 17996,
      "problem_name": "Interstellar Travel",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "mathematics",
        "prefix sum",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "prefix_sum",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "K",
      "problem_id": 17992,
      "problem_name": "Computer Cache",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "offline queries",
        "difference array",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop",
        "offline_queries",
        "difference_array",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "L",
      "problem_id": 17991,
      "problem_name": "Carryless Square Root",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2131,
      "problem_letter": "M",
      "problem_id": 17999,
      "problem_name": "Maze Connect",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "N",
      "problem_id": 18003,
      "problem_name": "Checkerboard",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "O",
      "problem_id": 18005,
      "problem_name": "Even or Odd?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "P",
      "problem_id": 18153,
      "problem_name": "Coloring Contention",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "Q",
      "problem_id": 18004,
      "problem_name": "From A to B",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "R",
      "problem_id": 18007,
      "problem_name": "Rainbow Strings",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "string",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "string",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "S",
      "problem_id": 18154,
      "problem_name": "Speeding",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "T",
      "problem_id": 18006,
      "problem_name": "Glow, Pixel, Glow!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "U",
      "problem_id": 18155,
      "problem_name": "Issuing Plates",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "V",
      "problem_id": 17998,
      "problem_name": "Levenshtein Distance",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "W",
      "problem_id": 18156,
      "problem_name": "Black and White",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "X",
      "problem_id": 18008,
      "problem_name": "ReMorse",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "Y",
      "problem_id": 17991,
      "problem_name": "Carryless Square Root",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2132,
      "problem_letter": "Z",
      "problem_id": 17999,
      "problem_name": "Maze Connect",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "A",
      "problem_id": 18171,
      "problem_name": "ABB",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "string",
        "knuth–morris–pratt",
        "manacher's"
      ],
      "tag_keys": [
        "string",
        "kmp",
        "manacher"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "manacher",
          "name": "manacher's",
          "boj_tag_id": 44
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "B",
      "problem_id": 18172,
      "problem_name": "Be Geeks!",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer",
        "segment tree with lazy propagation",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer",
        "lazyprop",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "B",
      "problem_id": 18173,
      "problem_name": "Bob in Wonderland",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "C",
      "problem_id": 18174,
      "problem_name": "Crimson Sexy Jalapeños",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "D",
      "problem_id": 18175,
      "problem_name": "Deep800080",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "G",
      "problem_id": 18176,
      "problem_name": "Zeldain Garden",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "H",
      "problem_id": 18177,
      "problem_name": "Light Emitting Hindenburg",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bitmask",
        "greedy"
      ],
      "tag_keys": [
        "bitmask",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "K",
      "problem_id": 18178,
      "problem_name": "K==S",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "tree",
        "exponentiation by squaring",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "trees",
        "exponentiation_by_squaring",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "P",
      "problem_id": 18179,
      "problem_name": "Ponk Warshall",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "S",
      "problem_id": 18180,
      "problem_name": "Saba1000kg",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "disjoint set",
        "square root decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 2133,
      "problem_letter": "S",
      "problem_id": 18181,
      "problem_name": "Screamers in the Storm",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2133,
      "problem_letter": "T",
      "problem_id": 18182,
      "problem_name": "The Bugs",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "case work"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "A",
      "problem_id": 18198,
      "problem_name": "Basketball One-on-One",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "B",
      "problem_id": 18199,
      "problem_name": "Commemorative Race",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "depth-first search",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "topological sorting",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "dfs",
        "dp",
        "graphs",
        "graph_traversal",
        "topological_sorting",
        "dag"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "C",
      "problem_id": 18200,
      "problem_name": "Convoy",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "D",
      "problem_id": 18201,
      "problem_name": "Crazed Boar",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "binary_search",
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "E",
      "problem_id": 18202,
      "problem_name": "Dance Circle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "prefix sum"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "F",
      "problem_id": 18203,
      "problem_name": "Dragon Ball I",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "bruteforcing",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "G",
      "problem_id": 18204,
      "problem_name": "Dragon Ball II",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "dijkstra's",
        "graph theory",
        "randomization",
        "shortest path"
      ],
      "tag_keys": [
        "bitmask",
        "dijkstra",
        "graphs",
        "randomization",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "H",
      "problem_id": 18205,
      "problem_name": "Farming Mars",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "value / coordinate compression",
        "randomization"
      ],
      "tag_keys": [
        "bruteforcing",
        "coordinate_compression",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "I",
      "problem_id": 18206,
      "problem_name": "Soft Passwords",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "J",
      "problem_id": 18207,
      "problem_name": "Sum and Product",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "K",
      "problem_id": 18208,
      "problem_name": "True/False Worksheet",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2136,
      "problem_letter": "L",
      "problem_id": 18209,
      "problem_name": "Umm Code",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "A",
      "problem_id": 18210,
      "problem_name": "Fast Forwarding",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "B",
      "problem_id": 18211,
      "problem_name": "Estimating the Flood Risk",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "C",
      "problem_id": 18212,
      "problem_name": "Wall Painting",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "D",
      "problem_id": 18213,
      "problem_name": "Twin Trees Bros.",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "geometry",
        "tree",
        "linear algebra",
        "geometry; 3d",
        "centroid"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "trees",
        "linear_algebra",
        "geometry_3d",
        "centroid"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "E",
      "problem_id": 18214,
      "problem_name": "Reordering the Documents",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "combinatorics",
        "knapsack",
        "bipartite graph"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "combinatorics",
        "knapsack",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "F",
      "problem_id": 18215,
      "problem_name": "Halting Problem",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "implementation",
        "prefix sum",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "implementation",
        "prefix_sum",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "G",
      "problem_id": 18216,
      "problem_name": "Ambiguous Encoding",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "H",
      "problem_id": 18217,
      "problem_name": "Parentheses Editor",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "I",
      "problem_id": 18218,
      "problem_name": "One-Way Conveyors",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "articulation points and bridges",
        "biconnected component",
        "data structures",
        "disjoint set",
        "graph theory",
        "lowest common ancestor",
        "prefix sum",
        "tree"
      ],
      "tag_keys": [
        "articulation",
        "bcc",
        "data_structures",
        "disjoint_set",
        "graphs",
        "lca",
        "prefix_sum",
        "trees"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "J",
      "problem_id": 18219,
      "problem_name": "Fun Region",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "ad-hoc",
        "geometry",
        "half plane intersection",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "half_plane_intersection",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2137,
      "problem_letter": "K",
      "problem_id": 18220,
      "problem_name": "Draw in Straight Lines",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "A",
      "problem_id": 18276,
      "problem_name": "Alergični Aron",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "B",
      "problem_id": 18277,
      "problem_name": "Bliski Brojevi",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "C",
      "problem_id": 18278,
      "problem_name": "Crni Ceh",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "D",
      "problem_id": 18279,
      "problem_name": "Dramatični Dvoboj",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "game theory",
        "gaussian elimination",
        "linear algebra",
        "longest increasing sequence problem",
        "mathematics",
        "sprague–grundy theorem",
        "sweeping"
      ],
      "tag_keys": [
        "game_theory",
        "gaussian_elimination",
        "linear_algebra",
        "lis",
        "math",
        "sprague_grundy",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "E",
      "problem_id": 18280,
      "problem_name": "Elokventni Evaluator",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "case work",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "case_work",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "F",
      "problem_id": 18281,
      "problem_name": "Fantastični Fožgaj",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "tree",
        "exponentiation by squaring",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "trees",
        "exponentiation_by_squaring",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "G",
      "problem_id": 18282,
      "problem_name": "Golema Gozba",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "constructive",
        "depth-first search",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "constructive",
        "dfs",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "H",
      "problem_id": 18283,
      "problem_name": "Herojski Histogram",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "data structures",
        "convex hull trick",
        "li–chao tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "cht",
        "li_chao_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "I",
      "problem_id": 18284,
      "problem_name": "Idilični Instagram",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2147,
      "problem_letter": "J",
      "problem_id": 18285,
      "problem_name": "Jaki Jovsi",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "palindrome tree",
        "prefix sum",
        "string",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "palindrome_tree",
        "prefix_sum",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "palindrome_tree",
          "name": "palindrome tree",
          "boj_tag_id": 53
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "A",
      "problem_id": 18293,
      "problem_name": "Environment-Friendly Travel",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "B",
      "problem_id": 18294,
      "problem_name": "Biodiversity",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "C",
      "problem_id": 18295,
      "problem_name": "Ants",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "D",
      "problem_id": 18296,
      "problem_name": "Gnalcats",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "E",
      "problem_id": 18297,
      "problem_name": "Pixels",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "F",
      "problem_id": 18298,
      "problem_name": "Icebergs",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "G",
      "problem_id": 18299,
      "problem_name": "Swapping Places",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "directed acyclic graph",
        "graph theory",
        "greedy",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "graphs",
        "greedy",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "H",
      "problem_id": 18300,
      "problem_name": "Pseudo-Random Number Generator",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "precomputation"
      ],
      "tag_keys": [
        "graphs",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "I",
      "problem_id": 18301,
      "problem_name": "Rats",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "J",
      "problem_id": 18302,
      "problem_name": "Counting Trees",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "K",
      "problem_id": 18303,
      "problem_name": "Bird Watching",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "strongly connected component"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "scc"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "L",
      "problem_id": 18304,
      "problem_name": "River Game",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "game theory",
        "graph theory",
        "graph traversal",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "game_theory",
        "graphs",
        "graph_traversal",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "PA",
      "problem_id": 18305,
      "problem_name": "Splitting DNA",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "PB",
      "problem_id": 18306,
      "problem_name": "Hiding Nuts",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "PC",
      "problem_id": 18307,
      "problem_name": "Visibility",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "PD",
      "problem_id": 18308,
      "problem_name": "Migration",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "sorting",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "sorting",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2148,
      "problem_letter": "PE",
      "problem_id": 18309,
      "problem_name": "Extreme Temperatures",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "A",
      "problem_id": 18330,
      "problem_name": "Petrol",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "B",
      "problem_id": 18331,
      "problem_name": "Gold Rush",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "C",
      "problem_id": 18332,
      "problem_name": "Valid Emails",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "set / map",
        "parsing",
        "regular expression"
      ],
      "tag_keys": [
        "string",
        "set",
        "parsing",
        "regex"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "D",
      "problem_id": 18333,
      "problem_name": "Cafebazaar’s Chess Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "prefix sum",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "prefix_sum",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "E",
      "problem_id": 18334,
      "problem_name": "The Big Surprise",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "value / coordinate compression",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "coordinate_compression",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "F",
      "problem_id": 18335,
      "problem_name": "Lets Burn and Rob Manhootan",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "G",
      "problem_id": 18336,
      "problem_name": "Gift Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2154,
      "problem_letter": "H",
      "problem_id": 18337,
      "problem_name": "Passport Control Gates",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "constructive",
        "greedy"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "I",
      "problem_id": 18338,
      "problem_name": "Password",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "J",
      "problem_id": 18339,
      "problem_name": "Greedy Termite",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "K",
      "problem_id": 18340,
      "problem_name": "Plan B",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2154,
      "problem_letter": "L",
      "problem_id": 18341,
      "problem_name": "The Assembly Code",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "A",
      "problem_id": 18382,
      "problem_name": "2048",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "B",
      "problem_id": 18383,
      "problem_name": "TATCK",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "heuristics",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "heuristics",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "C",
      "problem_id": 18384,
      "problem_name": "PRIM",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "D",
      "problem_id": 18385,
      "problem_name": "LJUST",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2159,
      "problem_letter": "E",
      "problem_id": 18386,
      "problem_name": "BNKQ",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "F",
      "problem_id": 18387,
      "problem_name": "ASLRDR",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "string",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "G",
      "problem_id": 18388,
      "problem_name": "SECHT",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2159,
      "problem_letter": "H",
      "problem_id": 18389,
      "problem_name": "PTOFSUG",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2159,
      "problem_letter": "I",
      "problem_id": 18390,
      "problem_name": "COPSCH",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2159,
      "problem_letter": "J",
      "problem_id": 18391,
      "problem_name": "KBLTRNS",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2160,
      "problem_letter": "1",
      "problem_id": 18392,
      "problem_name": "SHOP",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "parsing",
        "sorting",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "sorting",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2160,
      "problem_letter": "2",
      "problem_id": 18393,
      "problem_name": "TRIP",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2160,
      "problem_letter": "3",
      "problem_id": 18394,
      "problem_name": "DUP",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2160,
      "problem_letter": "4",
      "problem_id": 18395,
      "problem_name": "CHROM",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2160,
      "problem_letter": "5",
      "problem_id": 18396,
      "problem_name": "BNKQ",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2160,
      "problem_letter": "6",
      "problem_id": 18397,
      "problem_name": "LTBL",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2160,
      "problem_letter": "7",
      "problem_id": 18398,
      "problem_name": "HOMWRK",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2160,
      "problem_letter": "8",
      "problem_id": 18399,
      "problem_name": "SENTI",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2160,
      "problem_letter": "9",
      "problem_id": 18400,
      "problem_name": "DISPER",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "mathematics",
        "statistics"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 2160,
      "problem_letter": "10",
      "problem_id": 18401,
      "problem_name": "DISH",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "string",
        "backtracking",
        "traceback",
        "longest common subsequence"
      ],
      "tag_keys": [
        "dp",
        "string",
        "backtracking",
        "traceback",
        "lcs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "lcs",
          "name": "longest common subsequence",
          "boj_tag_id": 219
        }
      ]
    },
    {
      "contest_id": 2160,
      "problem_letter": "11",
      "problem_id": 18402,
      "problem_name": "RUN",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 2160,
      "problem_letter": "12",
      "problem_id": 18403,
      "problem_name": "KABISA",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "A",
      "problem_id": 18524,
      "problem_name": "Another Coin Weighing Puzzle",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "number theory",
        "möbius inversion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "mobius_inversion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "B",
      "problem_id": 18525,
      "problem_name": "Mini Battleship",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "C",
      "problem_id": 18526,
      "problem_name": "Bomas",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "data structures",
        "geometry",
        "tree",
        "set / map",
        "sweeping",
        "dynamic programming on trees",
        "set / map by trees"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "geometry",
        "trees",
        "set",
        "sweeping",
        "dp_tree",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "D",
      "problem_id": 18527,
      "problem_name": "All Kill",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "E",
      "problem_id": 18528,
      "problem_name": "Grid Guardian",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "F",
      "problem_id": 18529,
      "problem_name": "Hopscotch 50",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "G",
      "problem_id": 18530,
      "problem_name": "ICPC Camp",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "sorting",
        "binary search",
        "set / map",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "binary_search",
        "set",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "H",
      "problem_id": 18531,
      "problem_name": "Letter Wheels",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "string",
        "bruteforcing",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "I",
      "problem_id": 18532,
      "problem_name": "Editing Explosion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "J",
      "problem_id": 18533,
      "problem_name": "Lunchtime Name Recall",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "heuristics"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "K",
      "problem_id": 18534,
      "problem_name": "Rooted Subtrees",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "math",
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 2173,
      "problem_letter": "L",
      "problem_id": 18535,
      "problem_name": "Tomb Raider",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "disjoint set"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "A",
      "problem_id": 18670,
      "problem_name": "Christmas Tree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "euler tour technique",
        "lowest common ancestor",
        "segment tree",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "euler_tour_technique",
        "lca",
        "segtree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "B",
      "problem_id": 18671,
      "problem_name": "The Lion King",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2187,
      "problem_letter": "C",
      "problem_id": 18672,
      "problem_name": "Cultivating Mars",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull",
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "D",
      "problem_id": 18673,
      "problem_name": "Fractionstellar",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "E",
      "problem_id": 18674,
      "problem_name": "The Minions Quiz",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "ad-hoc",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "F",
      "problem_id": 18675,
      "problem_name": "Uberfication",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2187,
      "problem_letter": "G",
      "problem_id": 18676,
      "problem_name": "DNA Evolution",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2187,
      "problem_letter": "H",
      "problem_id": 18677,
      "problem_name": "Bingo!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2187,
      "problem_letter": "I",
      "problem_id": 18678,
      "problem_name": "Journey",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "J",
      "problem_id": 18679,
      "problem_name": "Banana",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2187,
      "problem_letter": "K",
      "problem_id": 18680,
      "problem_name": "Road Network",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2188,
      "problem_letter": "A",
      "problem_id": 18681,
      "problem_name": "Valar Morghulis",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "B",
      "problem_id": 18682,
      "problem_name": "Rains",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "C",
      "problem_id": 18683,
      "problem_name": "Man in the middle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "D",
      "problem_id": 18684,
      "problem_name": "Lumbo Jumbo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "E",
      "problem_id": 18685,
      "problem_name": "Scrambled Digits",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "F",
      "problem_id": 18686,
      "problem_name": "Andorra",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "G",
      "problem_id": 18687,
      "problem_name": "Gotta Catch 'Em All",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "sliding window"
      ],
      "tag_keys": [
        "binary_search",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 2188,
      "problem_letter": "H",
      "problem_id": 18688,
      "problem_name": "Military Service",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "ad-hoc",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 2188,
      "problem_letter": "I",
      "problem_id": 18689,
      "problem_name": "Baklawa",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 2188,
      "problem_letter": "J",
      "problem_id": 18690,
      "problem_name": "Football Hooliganism",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2188,
      "problem_letter": "K",
      "problem_id": 18691,
      "problem_name": "Pokemon Buddy",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2188,
      "problem_letter": "L",
      "problem_id": 18692,
      "problem_name": "Shika Bika",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "A",
      "problem_id": 18693,
      "problem_name": "Count the Graphs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "B",
      "problem_id": 18694,
      "problem_name": "Game of Nim Everywhere",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "game theory",
        "mathematics",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "math",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 2189,
      "problem_letter": "C",
      "problem_id": 18695,
      "problem_name": "FIFA World Cup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "D",
      "problem_id": 18696,
      "problem_name": "Crazy LCP",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "E",
      "problem_id": 18697,
      "problem_name": "This Means War",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "F",
      "problem_id": 18698,
      "problem_name": "The Walking Adam",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2189,
      "problem_letter": "G",
      "problem_id": 18699,
      "problem_name": "Darts Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2189,
      "problem_letter": "H",
      "problem_id": 18700,
      "problem_name": "Stock Exchange",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "I",
      "problem_id": 18701,
      "problem_name": "Winter is Here",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2189,
      "problem_letter": "J",
      "problem_id": 18702,
      "problem_name": "Array Queries",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "segment tree beats"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop",
        "beats"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "beats",
          "name": "segment tree beats",
          "boj_tag_id": 226
        }
      ]
    },
    {
      "contest_id": 2189,
      "problem_letter": "K",
      "problem_id": 18703,
      "problem_name": "Duplicate Files",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "A",
      "problem_id": 18704,
      "problem_name": "Awesome Shawarma",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "divide and conquer",
        "smaller to larger technique",
        "centroid",
        "centroid decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "divide_and_conquer",
        "smaller_to_larger",
        "centroid",
        "centroid_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "B",
      "problem_id": 18705,
      "problem_name": "Baklava Tray",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "C",
      "problem_id": 18706,
      "problem_name": "Coffee",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "string",
        "set / map",
        "arithmetic",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "string",
        "set",
        "arithmetic",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "D",
      "problem_id": 18707,
      "problem_name": "Dull Chocolates",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "value / coordinate compression",
        "prefix sum"
      ],
      "tag_keys": [
        "coordinate_compression",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "E",
      "problem_id": 18708,
      "problem_name": "Exciting Menus",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "aho-corasick",
        "data structures",
        "dynamic programming",
        "segment tree",
        "string",
        "suffix array and lcp array",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "aho_corasick",
        "data_structures",
        "dp",
        "segtree",
        "string",
        "suffix_array",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "F",
      "problem_id": 18709,
      "problem_name": "Flipping El-fetiera",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "linearity of expectation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "linearity_of_expectation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "G",
      "problem_id": 18710,
      "problem_name": "Greatest Chicken Dish",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "euclidean algorithm",
        "mathematics",
        "mo's",
        "modular multiplicative inverse",
        "number theory",
        "offline queries",
        "segment tree",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "euclidean",
        "math",
        "mo",
        "modular_multiplicative_inverse",
        "number_theory",
        "offline_queries",
        "segtree",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "H",
      "problem_id": 18711,
      "problem_name": "Hawawshi Decryption",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "discrete logarithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "discrete_log"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "discrete_log",
          "name": "discrete logarithm",
          "boj_tag_id": 146
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "I",
      "problem_id": 18712,
      "problem_name": "Ice-cream Knapsack",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "J",
      "problem_id": 18713,
      "problem_name": "Journey to Jupiter",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 2190,
      "problem_letter": "K",
      "problem_id": 18714,
      "problem_name": "Khoshaf",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2190,
      "problem_letter": "L",
      "problem_id": 18715,
      "problem_name": "Looking for Taste",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2204,
      "problem_letter": "A",
      "problem_id": 18810,
      "problem_name": "Amazing Sushi",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2204,
      "problem_letter": "B",
      "problem_id": 18811,
      "problem_name": "Bubble Bucket Sort",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2204,
      "problem_letter": "C",
      "problem_id": 18812,
      "problem_name": "Cartography",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2204,
      "problem_letter": "D",
      "problem_id": 18813,
      "problem_name": "Divisionals Spelling",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2204,
      "problem_letter": "E",
      "problem_id": 18814,
      "problem_name": "Entering Rectangles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2204,
      "problem_letter": "F",
      "problem_id": 18815,
      "problem_name": "Fabulous Photos",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2204,
      "problem_letter": "G",
      "problem_id": 18816,
      "problem_name": "Grid City",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2204,
      "problem_letter": "H",
      "problem_id": 18817,
      "problem_name": "Heroic Heist",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "parametric search",
        "bipartite matching"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 2204,
      "problem_letter": "I",
      "problem_id": 18818,
      "problem_name": "Iguana Instructions",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2204,
      "problem_letter": "J",
      "problem_id": 18819,
      "problem_name": "Jumping Junipers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2204,
      "problem_letter": "K",
      "problem_id": 18820,
      "problem_name": "Karaoke Meetup",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "shortest path",
        "dijkstra's",
        "dynamic programming on trees",
        "rerooting on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "shortest_path",
        "dijkstra",
        "dp_tree",
        "rerooting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "rerooting",
          "name": "rerooting on trees",
          "boj_tag_id": 233
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "A",
      "problem_id": 18894,
      "problem_name": "Alternative Permutations",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "backtracking",
        "bruteforcing",
        "dynamic programming"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "dp"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "B",
      "problem_id": 18895,
      "problem_name": "Cartoons",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "C",
      "problem_id": 18896,
      "problem_name": "Identifier Sequence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2212,
      "problem_letter": "D",
      "problem_id": 18897,
      "problem_name": "Daycare Children",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "E",
      "problem_id": 18898,
      "problem_name": "English",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "backtracking",
        "heuristics"
      ],
      "tag_keys": [
        "backtracking",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "F",
      "problem_id": 18899,
      "problem_name": "Encryption Function",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "backtracking",
        "mathematics"
      ],
      "tag_keys": [
        "backtracking",
        "math"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "G",
      "problem_id": 18900,
      "problem_name": "Printer's Head",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "H",
      "problem_id": 18901,
      "problem_name": "Passwords",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "directed acyclic graph",
        "data structures",
        "graph theory",
        "greedy",
        "priority queue",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "data_structures",
        "graphs",
        "greedy",
        "priority_queue",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "I",
      "problem_id": 18902,
      "problem_name": "Laser Intensification",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "J",
      "problem_id": 18903,
      "problem_name": "Autumn Cleaning (16 MiB ML!)",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "combinatorics",
        "modular multiplicative inverse",
        "fast fourier transform",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "combinatorics",
        "modular_multiplicative_inverse",
        "fft",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "K",
      "problem_id": 18904,
      "problem_name": "Chip Cards (16 MiB ML!)",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "L",
      "problem_id": 18905,
      "problem_name": "Camping in the woods",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "binary search",
        "prefix sum",
        "divide and conquer",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "binary_search",
        "prefix_sum",
        "divide_and_conquer",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2212,
      "problem_letter": "M",
      "problem_id": 18906,
      "problem_name": "Minimal Variance Tree",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "divide and conquer",
        "graph theory",
        "link/cut tree",
        "mathematics",
        "minimum spanning tree",
        "tree"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "graphs",
        "link_cut_tree",
        "math",
        "mst",
        "trees"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "link_cut_tree",
          "name": "link/cut tree",
          "boj_tag_id": 98
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "A",
      "problem_id": 19155,
      "problem_name": "Copying Homework",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "B",
      "problem_id": 19156,
      "problem_name": "Cleaning Robots",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "dynamic programming on trees",
        "mathematics",
        "prefix sum",
        "tree"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "dp_tree",
        "math",
        "prefix_sum",
        "trees"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "C",
      "problem_id": 19157,
      "problem_name": "Even Path",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "prefix sum"
      ],
      "tag_keys": [
        "ad_hoc",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "D",
      "problem_id": 19158,
      "problem_name": "Find String in a Grid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2235,
      "problem_letter": "E",
      "problem_id": 19159,
      "problem_name": "Songwriter",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "F",
      "problem_id": 19160,
      "problem_name": "Regular Forestation",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "tree",
        "hashing",
        "tree isomorphism"
      ],
      "tag_keys": [
        "trees",
        "hashing",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "G",
      "problem_id": 19161,
      "problem_name": "Performance Review",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "H",
      "problem_id": 19162,
      "problem_name": "Twin Buildings",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "I",
      "problem_id": 19163,
      "problem_name": "Mission Possible",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2235,
      "problem_letter": "J",
      "problem_id": 19164,
      "problem_name": "Tiling Terrace",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "K",
      "problem_id": 19165,
      "problem_name": "Addition Robot",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "lazyprop",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 2235,
      "problem_letter": "L",
      "problem_id": 19166,
      "problem_name": "Road Construction",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "bipartite matching",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "bipartite_matching",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "A",
      "problem_id": 19218,
      "problem_name": "Apprentice Learning Trajectory",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "B",
      "problem_id": 19219,
      "problem_name": "Balls of Buma",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "C",
      "problem_id": 19220,
      "problem_name": "Cactus Revenge",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "constructive",
        "cactus"
      ],
      "tag_keys": [
        "graphs",
        "constructive",
        "cactus"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "D",
      "problem_id": 19221,
      "problem_name": "DevOps Best Practices",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "graph theory",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "E",
      "problem_id": 19222,
      "problem_name": "Elections",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "F",
      "problem_id": 19223,
      "problem_name": "Foolprüf Security",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "G",
      "problem_id": 19224,
      "problem_name": "Game Relics",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "knapsack",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "knapsack",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "H",
      "problem_id": 19225,
      "problem_name": "Help BerLine",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "constructive",
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "constructive",
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "I",
      "problem_id": 19226,
      "problem_name": "Intriguing Selection",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "J",
      "problem_id": 19227,
      "problem_name": "Just Arrange the Icons",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "data structures",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "K",
      "problem_id": 19228,
      "problem_name": "Key Storage",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2241,
      "problem_letter": "L",
      "problem_id": 19229,
      "problem_name": "Lexicography",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "constructive",
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "A",
      "problem_id": 20036,
      "problem_name": "Ball Alignment",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "sorting",
        "binary search",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "binary_search",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "B",
      "problem_id": 20037,
      "problem_name": "Bit String",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "dp",
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "C",
      "problem_id": 20038,
      "problem_name": "Broken Tiles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2330,
      "problem_letter": "D",
      "problem_id": 20039,
      "problem_name": "Coronavirus Trend",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "E",
      "problem_id": 20040,
      "problem_name": "사이클 게임",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "F",
      "problem_id": 20041,
      "problem_name": "Escaping",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "G",
      "problem_id": 20042,
      "problem_name": "Hotspots",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "H",
      "problem_id": 20043,
      "problem_name": "Negative Cycle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2330,
      "problem_letter": "I",
      "problem_id": 20044,
      "problem_name": "Project Teams",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "J",
      "problem_id": 20045,
      "problem_name": "Trading System",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "prefix sum",
        "priority queue",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "prefix_sum",
        "priority_queue",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "K",
      "problem_id": 20046,
      "problem_name": "Road Reconstruction",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 2330,
      "problem_letter": "L",
      "problem_id": 20047,
      "problem_name": "동전 옮기기",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "A",
      "problem_id": 20169,
      "problem_name": "Autonomous Vehicle",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "geometry",
        "binary search",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "binary_search",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "B",
      "problem_id": 20170,
      "problem_name": "Commemorative Dice",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "C",
      "problem_id": 20171,
      "problem_name": "Dessert Café",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "D",
      "problem_id": 20172,
      "problem_name": "Electric Vehicle",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "E",
      "problem_id": 20173,
      "problem_name": "Imprecise Computer",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "constructive"
      ],
      "tag_keys": [
        "dp",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "F",
      "problem_id": 20174,
      "problem_name": "Ink Mix",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "tree",
        "dominator tree"
      ],
      "tag_keys": [
        "trees",
        "dominator_tree"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dominator_tree",
          "name": "dominator tree",
          "boj_tag_id": 135
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "G",
      "problem_id": 20175,
      "problem_name": "Mobile Robot",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "H",
      "problem_id": 20176,
      "problem_name": "Needle",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "I",
      "problem_id": 20177,
      "problem_name": "Stock Analysis",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "offline queries",
        "multidimensional segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "offline_queries",
        "multi_segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "multi_segtree",
          "name": "multidimensional segment tree",
          "boj_tag_id": 166
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "J",
      "problem_id": 20178,
      "problem_name": "Switches",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "K",
      "problem_id": 20179,
      "problem_name": "Tiling Polyomino",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2339,
      "problem_letter": "L",
      "problem_id": 20180,
      "problem_name": "Two Buildings",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "divide and conquer",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "divide_and_conquer",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "A",
      "problem_id": 20213,
      "problem_name": "Adversarial Memory",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "greedy",
        "constructive",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "constructive",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "B",
      "problem_id": 20214,
      "problem_name": "Binary Seating",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "sorting",
        "combinatorics",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "combinatorics",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "C",
      "problem_id": 20215,
      "problem_name": "Cutting Corners",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "D",
      "problem_id": 20216,
      "problem_name": "Ducky Debugging",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "E",
      "problem_id": 20217,
      "problem_name": "Eightgon",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "geometry",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "F",
      "problem_id": 20218,
      "problem_name": "Figure Skating",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "G",
      "problem_id": 20219,
      "problem_name": "Group Project",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "bipartite graph",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "greedy"
      ],
      "tag_keys": [
        "bipartite_graph",
        "dfs",
        "graphs",
        "graph_traversal",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "H",
      "problem_id": 20220,
      "problem_name": "Human Pyramid",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "I",
      "problem_id": 20221,
      "problem_name": "In-place Sorting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "J",
      "problem_id": 20222,
      "problem_name": "Jam-packed",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2346,
      "problem_letter": "K",
      "problem_id": 20223,
      "problem_name": "Kangaroo Commotion",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2347,
      "problem_letter": "A",
      "problem_id": 20224,
      "problem_name": "Count <s>Down</s> Up 2020",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2347,
      "problem_letter": "B",
      "problem_id": 20225,
      "problem_name": "Contact Tracer",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2347,
      "problem_letter": "C",
      "problem_id": 20226,
      "problem_name": "Luggage",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "binary search",
        "primality test",
        "prime factorization",
        "pollard rho",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "binary_search",
        "primality_test",
        "prime_factorization",
        "pollard_rho",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 2347,
      "problem_letter": "D",
      "problem_id": 20227,
      "problem_name": "Icpcan Alphabet",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2347,
      "problem_letter": "E",
      "problem_id": 20228,
      "problem_name": "Keima",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2347,
      "problem_letter": "F",
      "problem_id": 20229,
      "problem_name": "Evacuation Site",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2347,
      "problem_letter": "G",
      "problem_id": 20230,
      "problem_name": "Avoiding Three Cs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2347,
      "problem_letter": "H",
      "problem_id": 20231,
      "problem_name": "Idealistic Canister",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "case work",
        "parametric search",
        "convex hull",
        "ternary search",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "case_work",
        "parametric_search",
        "convex_hull",
        "ternary_search",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "A",
      "problem_id": 20232,
      "problem_name": "Archivist",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "B",
      "problem_id": 20233,
      "problem_name": "Bicycle",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "C",
      "problem_id": 20234,
      "problem_name": "Corrupted Sort",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "sorting"
      ],
      "tag_keys": [
        "ad_hoc",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "D",
      "problem_id": 20235,
      "problem_name": "Display",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "E",
      "problem_id": 20236,
      "problem_name": "Easy Compare-and-Set",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "eulerian path / circuit",
        "graph theory"
      ],
      "tag_keys": [
        "eulerian_path",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "F",
      "problem_id": 20237,
      "problem_name": "Futures Market Trends",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "mathematics",
        "prefix sum",
        "statistics"
      ],
      "tag_keys": [
        "bruteforcing",
        "math",
        "prefix_sum",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "G",
      "problem_id": 20238,
      "problem_name": "Grammar Path",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "arbitrary precision / big integers",
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "H",
      "problem_id": 20239,
      "problem_name": "Heroes of Coin Flipping",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "linearity of expectation",
        "mathematics",
        "probability theory",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "linearity_of_expectation",
        "math",
        "probability",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "I",
      "problem_id": 20240,
      "problem_name": "Integer Square",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "bruteforcing",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "J",
      "problem_id": 20241,
      "problem_name": "Joint Password Storage",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2348,
      "problem_letter": "K",
      "problem_id": 20242,
      "problem_name": "Keys and Locks Boolean Logic",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bitmask",
        "constructive",
        "data structures",
        "parsing",
        "sparse table",
        "string"
      ],
      "tag_keys": [
        "bitmask",
        "constructive",
        "data_structures",
        "parsing",
        "sparse_table",
        "string"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "L",
      "problem_id": 20243,
      "problem_name": "Lost Permutation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "M",
      "problem_id": 20244,
      "problem_name": "Mind the Gap",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2348,
      "problem_letter": "N",
      "problem_id": 20245,
      "problem_name": "Nunchucks Shop",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "A",
      "problem_id": 20246,
      "problem_name": "Pac-Man",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "B",
      "problem_id": 20247,
      "problem_name": "Folding",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "C",
      "problem_id": 20248,
      "problem_name": "Circles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "geometry",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "D",
      "problem_id": 20249,
      "problem_name": "Last Will",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "E",
      "problem_id": 20250,
      "problem_name": "Eric’s Work",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive",
        "bitmask"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "F",
      "problem_id": 20251,
      "problem_name": "Homework",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "segment tree with lazy propagation",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "lazyprop",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "G",
      "problem_id": 20252,
      "problem_name": "Garden",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "bipartite matching",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "bipartite_matching",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "H",
      "problem_id": 20253,
      "problem_name": "In The Name Of Confusion",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "I",
      "problem_id": 20254,
      "problem_name": "Site Score",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2349,
      "problem_letter": "J",
      "problem_id": 20255,
      "problem_name": "Table Tennis",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "A",
      "problem_id": 20256,
      "problem_name": "Right-Coupled Numbers",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "B",
      "problem_id": 20257,
      "problem_name": "Make Numbers",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "C",
      "problem_id": 20258,
      "problem_name": "Pyramid",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "D",
      "problem_id": 20259,
      "problem_name": "Quality Monitoring",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "E",
      "problem_id": 20260,
      "problem_name": "A Color Game",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "F",
      "problem_id": 20261,
      "problem_name": "Cable Protection",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "G",
      "problem_id": 20262,
      "problem_name": "Graph Cards",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "string",
        "tree",
        "hashing",
        "suffix array and lcp array",
        "tree isomorphism"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "trees",
        "hashing",
        "suffix_array",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "H",
      "problem_id": 20263,
      "problem_name": "Optimization for UltraNet",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "mst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "I",
      "problem_id": 20264,
      "problem_name": "Critical Structures",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "articulation points and bridges",
        "biconnected component"
      ],
      "tag_keys": [
        "graphs",
        "articulation",
        "bcc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        }
      ]
    },
    {
      "contest_id": 2350,
      "problem_letter": "J",
      "problem_id": 20265,
      "problem_name": "Puzzle Game",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2350,
      "problem_letter": "K",
      "problem_id": 20266,
      "problem_name": "Number with Bachelors",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2350,
      "problem_letter": "L",
      "problem_id": 20267,
      "problem_name": "Save lives or money",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2350,
      "problem_letter": "M",
      "problem_id": 20268,
      "problem_name": "Keystroke",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2351,
      "problem_letter": "A",
      "problem_id": 20269,
      "problem_name": "Obélix",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2351,
      "problem_letter": "B",
      "problem_id": 20270,
      "problem_name": "Thistle Darkwater",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2351,
      "problem_letter": "C",
      "problem_id": 20271,
      "problem_name": "Bad-hash students",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "data structures",
        "hashing",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hashing",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2351,
      "problem_letter": "D",
      "problem_id": 20272,
      "problem_name": "Tournament turn-around",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2351,
      "problem_letter": "E",
      "problem_id": 20273,
      "problem_name": "You’ve goat me stumped",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2351,
      "problem_letter": "F",
      "problem_id": 20274,
      "problem_name": "256 shades of Gray",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2351,
      "problem_letter": "G",
      "problem_id": 20275,
      "problem_name": "Battlecheap",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2352,
      "problem_letter": "A",
      "problem_id": 20276,
      "problem_name": "Álbum de Figurinhas",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "B",
      "problem_id": 20277,
      "problem_name": "Batalha Naval",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "C",
      "problem_id": 20278,
      "problem_name": "Concatenando Times",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2352,
      "problem_letter": "D",
      "problem_id": 20279,
      "problem_name": "Dança da Divisibilidade",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "string",
        "exponentiation by squaring",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "math",
        "string",
        "exponentiation_by_squaring",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "E",
      "problem_id": 20280,
      "problem_name": "Empresa de Festas",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "segment tree",
        "depth-first search",
        "offline queries",
        "sparse table",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "segtree",
        "dfs",
        "offline_queries",
        "sparse_table",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "F",
      "problem_id": 20281,
      "problem_name": "Fastminton",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "G",
      "problem_id": 20282,
      "problem_name": "Game Show!",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "H",
      "problem_id": 20283,
      "problem_name": "Hangar do SBC",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "I",
      "problem_id": 20284,
      "problem_name": "Interatividade",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "J",
      "problem_id": 20285,
      "problem_name": "Juntando Dados",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2352,
      "problem_letter": "K",
      "problem_id": 20286,
      "problem_name": "Ká entre Nós",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "L",
      "problem_id": 20287,
      "problem_name": "Lavaspar",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "M",
      "problem_id": 20288,
      "problem_name": "Metralhadora",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2352,
      "problem_letter": "N",
      "problem_id": 20289,
      "problem_name": "Números Multiplicados",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 2352,
      "problem_letter": "O",
      "problem_id": 20290,
      "problem_name": "Ônibus Venusiano",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2357,
      "problem_letter": "A",
      "problem_id": 20316,
      "problem_name": "ASCII Art",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2357,
      "problem_letter": "B",
      "problem_id": 20317,
      "problem_name": "Brzi Biljar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2357,
      "problem_letter": "C",
      "problem_id": 20318,
      "problem_name": "Carska Civilizacija",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "monotone queue optimization"
      ],
      "tag_keys": [
        "dp",
        "monotone_queue_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "monotone_queue_optimization",
          "name": "monotone queue optimization",
          "boj_tag_id": 165
        }
      ]
    },
    {
      "contest_id": 2357,
      "problem_letter": "D",
      "problem_id": 20319,
      "problem_name": "Drugi Dio",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2357,
      "problem_letter": "E",
      "problem_id": 20320,
      "problem_name": "Ekstremna Ekspedicija",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "depth-first search",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "lowest common ancestor",
        "mathematics",
        "probability theory",
        "sparse table",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "lca",
        "math",
        "probability",
        "sparse_table",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2357,
      "problem_letter": "F",
      "problem_id": 20321,
      "problem_name": "Fenomenalni Fenjer",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2357,
      "problem_letter": "G",
      "problem_id": 20322,
      "problem_name": "Gospodar Gljiva",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2357,
      "problem_letter": "H",
      "problem_id": 20323,
      "problem_name": "Hvalevrijedan Hitac",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2357,
      "problem_letter": "I",
      "problem_id": 20324,
      "problem_name": "Izvanredna Isplata",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "binary search"
      ],
      "tag_keys": [
        "dp",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2357,
      "problem_letter": "J",
      "problem_id": 20325,
      "problem_name": "Jači Jovsi",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "palindrome tree",
        "prefix sum",
        "string",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "palindrome_tree",
        "prefix_sum",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "palindrome_tree",
          "name": "palindrome tree",
          "boj_tag_id": 53
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2357,
      "problem_letter": "K",
      "problem_id": 20326,
      "problem_name": "Klasična Karantena",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "A",
      "problem_id": 20329,
      "problem_name": "Aquarium",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "B",
      "problem_id": 20330,
      "problem_name": "Bidirectional Code",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "C",
      "problem_id": 20331,
      "problem_name": "Corrupt Judge",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "D",
      "problem_id": 20332,
      "problem_name": "Divvying Up",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "E",
      "problem_id": 20333,
      "problem_name": "Elevator Pitch",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "F",
      "problem_id": 20334,
      "problem_name": "Family Fares",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "G",
      "problem_id": 20335,
      "problem_name": "Generators",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "H",
      "problem_id": 20336,
      "problem_name": "Haughty Cuisine",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "I",
      "problem_id": 20337,
      "problem_name": "Incomplete Sort",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "sorting",
        "constructive"
      ],
      "tag_keys": [
        "sorting",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "J",
      "problem_id": 20338,
      "problem_name": "Jigsaw",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "K",
      "problem_id": 20339,
      "problem_name": "Kleptocrat",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "bitmask",
        "depth-first search",
        "linear algebra",
        "gaussian elimination",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bitmask",
        "dfs",
        "linear_algebra",
        "gaussian_elimination",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "L",
      "problem_id": 20340,
      "problem_name": "Lost Map",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "string",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "string",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 2358,
      "problem_letter": "M",
      "problem_id": 20341,
      "problem_name": "Moderate Pace",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "A",
      "problem_id": 20329,
      "problem_name": "Aquarium",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "greedy",
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "B",
      "problem_id": 20330,
      "problem_name": "Bidirectional Code",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "C",
      "problem_id": 20331,
      "problem_name": "Corrupt Judge",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "D",
      "problem_id": 20348,
      "problem_name": "Destabilized Drone",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "E",
      "problem_id": 20333,
      "problem_name": "Elevator Pitch",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "F",
      "problem_id": 20334,
      "problem_name": "Family Fares",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "G",
      "problem_id": 20335,
      "problem_name": "Generators",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "H",
      "problem_id": 20336,
      "problem_name": "Haughty Cuisine",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "I",
      "problem_id": 20337,
      "problem_name": "Incomplete Sort",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "sorting",
        "constructive"
      ],
      "tag_keys": [
        "sorting",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "J",
      "problem_id": 20338,
      "problem_name": "Jigsaw",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2360,
      "problem_letter": "K",
      "problem_id": 20349,
      "problem_name": "Xortest Path",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "bitmask",
        "depth-first search",
        "linear algebra",
        "gaussian elimination",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bitmask",
        "dfs",
        "linear_algebra",
        "gaussian_elimination",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "A",
      "problem_id": 6298,
      "problem_name": "Family",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2361,
      "problem_letter": "B",
      "problem_id": 6297,
      "problem_name": "Intervals",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "C",
      "problem_id": 20356,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2361,
      "problem_letter": "D",
      "problem_id": 20357,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2361,
      "problem_letter": "E",
      "problem_id": 6203,
      "problem_name": "Serious Cow Tag",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "F",
      "problem_id": 6294,
      "problem_name": "Solitaire",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "bruteforcing",
        "set / map",
        "meet in the middle"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "set",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "G",
      "problem_id": 6299,
      "problem_name": "Timetable",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "H",
      "problem_id": 20358,
      "problem_name": "Voracious Steve",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "PA",
      "problem_id": 20359,
      "problem_name": "A simple task",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2361,
      "problem_letter": "PB",
      "problem_id": 20360,
      "problem_name": "Binary numbers",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2362,
      "problem_letter": "1",
      "problem_id": 20377,
      "problem_name": "A Colorful Problem",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2362,
      "problem_letter": "2",
      "problem_id": 20378,
      "problem_name": "Cyclic Numbers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 2362,
      "problem_letter": "3",
      "problem_id": 20379,
      "problem_name": "Deer Me",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "arithmetic",
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "arithmetic",
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2362,
      "problem_letter": "4",
      "problem_id": 20380,
      "problem_name": "Matrix Excryption",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 2362,
      "problem_letter": "5",
      "problem_id": 20381,
      "problem_name": "The Set's the Thing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2362,
      "problem_letter": "6",
      "problem_id": 20382,
      "problem_name": "VCR++ Codes",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "bitmask",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bitmask",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2363,
      "problem_letter": "1",
      "problem_id": 20383,
      "problem_name": "The Programmer's Hex",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2363,
      "problem_letter": "2",
      "problem_id": 20384,
      "problem_name": "Dart-a-Mania",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2363,
      "problem_letter": "3",
      "problem_id": 20385,
      "problem_name": "Lost in Space",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2363,
      "problem_letter": "4",
      "problem_id": 20386,
      "problem_name": "Gleaming the Cubes",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 2363,
      "problem_letter": "5",
      "problem_id": 20387,
      "problem_name": "A Logical Problem",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "directed acyclic graph",
        "graph theory",
        "graph traversal",
        "implementation",
        "simulation",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "graphs",
        "graph_traversal",
        "implementation",
        "simulation",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2363,
      "problem_letter": "6",
      "problem_id": 20388,
      "problem_name": "Soundex Indexing",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "A",
      "problem_id": 20673,
      "problem_name": "Covid-19",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "B",
      "problem_id": 20674,
      "problem_name": "Statistics",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "C",
      "problem_id": 20675,
      "problem_name": "Science Fiction",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "D",
      "problem_id": 20676,
      "problem_name": "Necklace Construction",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2395,
      "problem_letter": "E",
      "problem_id": 20677,
      "problem_name": "Social Distancing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "F",
      "problem_id": 20678,
      "problem_name": "Hezardastan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2395,
      "problem_letter": "G",
      "problem_id": 20679,
      "problem_name": "JJ Rally",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2395,
      "problem_letter": "H",
      "problem_id": 20680,
      "problem_name": "Birds Rituals",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "I",
      "problem_id": 20681,
      "problem_name": "Black Family Tree",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "J",
      "problem_id": 20682,
      "problem_name": "Vaccination Against Corona",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2395,
      "problem_letter": "K",
      "problem_id": 20683,
      "problem_name": "McFly",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2395,
      "problem_letter": "L",
      "problem_id": 20684,
      "problem_name": "The Last Supper",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2395,
      "problem_letter": "M",
      "problem_id": 20685,
      "problem_name": "Stabbing Number",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2396,
      "problem_letter": "A",
      "problem_id": 20686,
      "problem_name": "Comic Binge",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "B",
      "problem_id": 20687,
      "problem_name": "Moon and Sun",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "modular multiplicative inverse",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "modular_multiplicative_inverse",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "C",
      "problem_id": 20688,
      "problem_name": "Cul-De-Sac Parades",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "D",
      "problem_id": 20689,
      "problem_name": "Forbidden Card",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "ad-hoc"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "E",
      "problem_id": 20690,
      "problem_name": "Exchange Bottleneck",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "F",
      "problem_id": 20691,
      "problem_name": "Shopping Changes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "prefix sum",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "prefix_sum",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "G",
      "problem_id": 20692,
      "problem_name": "Permutation Transformation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "permutation cycle decomposition",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "permutation_cycle_decomposition",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "H",
      "problem_id": 20693,
      "problem_name": "Writing Tasks",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "data structures",
        "bruteforcing",
        "graph traversal",
        "ad-hoc",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "bruteforcing",
        "graph_traversal",
        "ad_hoc",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "I",
      "problem_id": 20694,
      "problem_name": "Red Black Ball",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "J",
      "problem_id": 20695,
      "problem_name": "Token Distance",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "set / map",
        "set / map by trees",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "set",
        "tree_set",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "K",
      "problem_id": 20696,
      "problem_name": "Tree Beauty",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "segment tree",
        "depth-first search",
        "segment tree with lazy propagation",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "segtree",
        "dfs",
        "lazyprop",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 2396,
      "problem_letter": "L",
      "problem_id": 20697,
      "problem_name": "Robust Defense",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2396,
      "problem_letter": "M",
      "problem_id": 20698,
      "problem_name": "Police Stations",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "A",
      "problem_id": 20699,
      "problem_name": "Almost Balanced Tree",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive",
        "recursion"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "B",
      "problem_id": 20700,
      "problem_name": "Brain-teaser",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2397,
      "problem_letter": "C",
      "problem_id": 20701,
      "problem_name": "Color the Tree",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "D",
      "problem_id": 20702,
      "problem_name": "Down We Dig",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "game theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "E",
      "problem_id": 20703,
      "problem_name": "Easy Measurements",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "euclidean algorithm",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "euclidean",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "F",
      "problem_id": 20704,
      "problem_name": "Find a Square",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "discrete square root",
        "mathematics",
        "modular multiplicative inverse",
        "number theory"
      ],
      "tag_keys": [
        "discrete_sqrt",
        "math",
        "modular_multiplicative_inverse",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "discrete_sqrt",
          "name": "discrete square root",
          "boj_tag_id": 147
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "G",
      "problem_id": 20705,
      "problem_name": "Geometrical Combinatorics",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "combinatorics",
        "geometry",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "geometry",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "H",
      "problem_id": 20706,
      "problem_name": "Hit the Hay",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2397,
      "problem_letter": "I",
      "problem_id": 20707,
      "problem_name": "Interactive Knockout",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2397,
      "problem_letter": "J",
      "problem_id": 20708,
      "problem_name": "Jumping Cat",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2397,
      "problem_letter": "K",
      "problem_id": 20709,
      "problem_name": "Kate's 2021 Celebration",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "L",
      "problem_id": 20710,
      "problem_name": "Lookup Performance",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "case work",
        "offline queries",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "case_work",
        "offline_queries",
        "lca"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "M",
      "problem_id": 20711,
      "problem_name": "Miser",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2397,
      "problem_letter": "N",
      "problem_id": 20712,
      "problem_name": "New Flat",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2397,
      "problem_letter": "O",
      "problem_id": 20713,
      "problem_name": "Optimum Server Location",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "A",
      "problem_id": 20901,
      "problem_name": "Adolescent Architecture",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "B",
      "problem_id": 20902,
      "problem_name": "Bookshelf Building",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "C",
      "problem_id": 20903,
      "problem_name": "Confined Catching",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive",
        "game theory"
      ],
      "tag_keys": [
        "constructive",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "D",
      "problem_id": 20904,
      "problem_name": "Decorative Dominoes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "E",
      "problem_id": 20905,
      "problem_name": "Exhausting Errands",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "greedy",
        "prefix sum",
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "prefix_sum",
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "F",
      "problem_id": 20906,
      "problem_name": "Flip Flow",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "G",
      "problem_id": 20907,
      "problem_name": "Gravity Grid",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "disjoint set"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "H",
      "problem_id": 20908,
      "problem_name": "Hectic Harbour",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "implementation"
      ],
      "tag_keys": [
        "dp",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "I",
      "problem_id": 20909,
      "problem_name": "Impressive Integers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "J",
      "problem_id": 20910,
      "problem_name": "Jeopardised Journey",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "articulation points and bridges",
        "geometry",
        "graph theory",
        "sweeping"
      ],
      "tag_keys": [
        "articulation",
        "geometry",
        "graphs",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "K",
      "problem_id": 20911,
      "problem_name": "Knightly Knowledge",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "greedy"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "L",
      "problem_id": 20912,
      "problem_name": "Lexicographical Lecturing",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2427,
      "problem_letter": "M",
      "problem_id": 20913,
      "problem_name": "Mixtape Management",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "A",
      "problem_id": 11088,
      "problem_name": "Cantina of Babel",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "B",
      "problem_id": 20989,
      "problem_name": "Drawing Circles",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "C",
      "problem_id": 10469,
      "problem_name": "사이 나쁜 여왕들",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "D",
      "problem_id": 10471,
      "problem_name": "공간을 만들어 봅시다",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "E",
      "problem_id": 20990,
      "problem_name": "Perfect Path Patrol",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "F",
      "problem_id": 11094,
      "problem_name": "꿍 가라사대",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2440,
      "problem_letter": "G",
      "problem_id": 20991,
      "problem_name": "Sky’s the Limit",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2440,
      "problem_letter": "H",
      "problem_id": 20992,
      "problem_name": "Using Digits",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "A",
      "problem_id": 21009,
      "problem_name": "Visible Trees",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "B",
      "problem_id": 21010,
      "problem_name": "Slow Down",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "C",
      "problem_id": 21011,
      "problem_name": "Instruction Anagram",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "divide and conquer",
        "fast fourier transform",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "divide_and_conquer",
        "fft",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "D",
      "problem_id": 21012,
      "problem_name": "Project Team",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "binary search",
        "prefix sum",
        "offline queries",
        "persistent segment tree",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "binary_search",
        "prefix_sum",
        "offline_queries",
        "pst",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "E",
      "problem_id": 21013,
      "problem_name": "Occult Square",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "F",
      "problem_id": 21014,
      "problem_name": "Special Substring",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "G",
      "problem_id": 21015,
      "problem_name": "Hallway and Butler",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "tree",
        "combinatorics",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "graph_traversal",
        "trees",
        "combinatorics",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "H",
      "problem_id": 21016,
      "problem_name": "Auction Market",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "I",
      "problem_id": 21017,
      "problem_name": "Forming Compounds",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bit set",
        "dynamic programming",
        "euclidean algorithm",
        "knapsack",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "bitset",
        "dp",
        "euclidean",
        "knapsack",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "J",
      "problem_id": 21018,
      "problem_name": "Power Link",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "data structures",
        "segment tree",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "segtree",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "K",
      "problem_id": 21019,
      "problem_name": "All Subsequences",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "segment tree",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "segtree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "L",
      "problem_id": 21020,
      "problem_name": "Combination Lock",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2443,
      "problem_letter": "M",
      "problem_id": 21021,
      "problem_name": "Prize Coupon",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "A",
      "problem_id": 21022,
      "problem_name": "Three Points for a Win",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "B",
      "problem_id": 21023,
      "problem_name": "Door of the Ancient",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "C",
      "problem_id": 21024,
      "problem_name": "Jumping Stones",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "set / map by hashing",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "D",
      "problem_id": 21025,
      "problem_name": "Healthy Lifestyle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "articulation points and bridges",
        "biconnected component"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "articulation",
        "bcc"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "E",
      "problem_id": 21026,
      "problem_name": "Shortsighted",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "F",
      "problem_id": 21027,
      "problem_name": "Presidential Game",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "ad-hoc",
        "parity"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "G",
      "problem_id": 21028,
      "problem_name": "Goofy Golf",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2444,
      "problem_letter": "H",
      "problem_id": 21029,
      "problem_name": "Collecting Apples",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "I",
      "problem_id": 21030,
      "problem_name": "Frequent Alphabet",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "J",
      "problem_id": 21031,
      "problem_name": "Grid City",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "implementation",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "implementation",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "K",
      "problem_id": 21032,
      "problem_name": "Odd GCD Matching",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "L",
      "problem_id": 21033,
      "problem_name": "Sending Blessings",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "implementation",
        "lowest common ancestor",
        "segment tree",
        "sparse table",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "lca",
        "segtree",
        "sparse_table",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2444,
      "problem_letter": "M",
      "problem_id": 21034,
      "problem_name": "Go To Goal",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "A",
      "problem_id": 21035,
      "problem_name": "Simple Operations in Matrix",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "B",
      "problem_id": 21036,
      "problem_name": "Mini Market",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "C",
      "problem_id": 21037,
      "problem_name": "Polygonal Query",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "convex hull",
        "data structures",
        "geometry",
        "set / map by hashing",
        "point in convex polygon check",
        "segment tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "convex_hull",
        "data_structures",
        "geometry",
        "hash_set",
        "point_in_convex_polygon",
        "segtree",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "D",
      "problem_id": 21038,
      "problem_name": "Galatea’s Diet",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "exponentiation by squaring",
        "fermat's little theorem",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "exponentiation_by_squaring",
        "flt",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "E",
      "problem_id": 21039,
      "problem_name": "Flip and Combos",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "F",
      "problem_id": 21040,
      "problem_name": "Maximum Subset",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "sorting",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "sorting",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "G",
      "problem_id": 21041,
      "problem_name": "Largest Exotic Number",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "sweeping"
      ],
      "tag_keys": [
        "bruteforcing",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "H",
      "problem_id": 21042,
      "problem_name": "Triangle of Safety",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "bruteforcing",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "I",
      "problem_id": 21043,
      "problem_name": "Domino Line",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "J",
      "problem_id": 21044,
      "problem_name": "Inverse Common Superstring",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "K",
      "problem_id": 21045,
      "problem_name": "Adding Numbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "case work",
        "dynamic programming",
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "case_work",
        "dp",
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2445,
      "problem_letter": "L",
      "problem_id": 21046,
      "problem_name": "Pretty Table",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2447,
      "problem_letter": "A",
      "problem_id": 21047,
      "problem_name": "Array of Discord",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "constructive"
      ],
      "tag_keys": [
        "bruteforcing",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "B",
      "problem_id": 21048,
      "problem_name": "Big Brother",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "area of a polygon",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "C",
      "problem_id": 21049,
      "problem_name": "Coin Stacks",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "D",
      "problem_id": 21050,
      "problem_name": "Dams in Distress",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "E",
      "problem_id": 21051,
      "problem_name": "Exhaustive Experiment",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "sweeping",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "sweeping",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "F",
      "problem_id": 21052,
      "problem_name": "Film Critics",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "G",
      "problem_id": 21053,
      "problem_name": "Gig Combinatorics",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "H",
      "problem_id": 21054,
      "problem_name": "Hiring and Firing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bipartite graph",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bipartite_graph",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "I",
      "problem_id": 21055,
      "problem_name": "Infection Estimation",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "probability theory",
        "simulated annealing",
        "bayes theorem"
      ],
      "tag_keys": [
        "math",
        "probability",
        "simulated_annealing",
        "bayes"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "simulated_annealing",
          "name": "simulated annealing",
          "boj_tag_id": 184
        },
        {
          "key": "bayes",
          "name": "bayes theorem",
          "boj_tag_id": 114
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "J",
      "problem_id": 21056,
      "problem_name": "Joining Flows",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "K",
      "problem_id": 21057,
      "problem_name": "Keep Calm And Carry Off",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "greedy",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "L",
      "problem_id": 21058,
      "problem_name": "Language Survey",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "case work",
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2447,
      "problem_letter": "M",
      "problem_id": 21059,
      "problem_name": "Methodic Multiplication",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "A",
      "problem_id": 21134,
      "problem_name": "Ant Typing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "B",
      "problem_id": 21135,
      "problem_name": "Bad Packing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "prefix sum",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "prefix_sum",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "C",
      "problem_id": 21136,
      "problem_name": "Bitonic Ordering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "D",
      "problem_id": 21137,
      "problem_name": "Condorcet",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bruteforcing",
        "graph theory",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "E",
      "problem_id": 21138,
      "problem_name": "Dominating Duos",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "F",
      "problem_id": 21139,
      "problem_name": "Exam Manipulation",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "G",
      "problem_id": 21140,
      "problem_name": "Exciting Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "H",
      "problem_id": 21141,
      "problem_name": "Kth Subtree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "I",
      "problem_id": 21142,
      "problem_name": "Longest Common Subsequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "J",
      "problem_id": 21143,
      "problem_name": "Magic Trick",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "K",
      "problem_id": 21144,
      "problem_name": "Missing Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "L",
      "problem_id": 21145,
      "problem_name": "Rainbow Numbers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "M",
      "problem_id": 21146,
      "problem_name": "Rating Problems",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "N",
      "problem_id": 21147,
      "problem_name": "Triangular Collection",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "O",
      "problem_id": 21148,
      "problem_name": "TripTik",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "segment tree",
        "binary search",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "segtree",
        "binary_search",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2455,
      "problem_letter": "P",
      "problem_id": 21149,
      "problem_name": "Unread Messages",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "A",
      "problem_id": 21150,
      "problem_name": "All in the Family",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "case work",
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "implementation",
        "lowest common ancestor",
        "tree",
        "set / map"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "graphs",
        "graph_traversal",
        "hash_set",
        "implementation",
        "lca",
        "trees",
        "set"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "B",
      "problem_id": 21151,
      "problem_name": "Kinky Word Searches",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "C",
      "problem_id": 21152,
      "problem_name": "Math Trade",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "graphs",
        "graph_traversal",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "D",
      "problem_id": 21153,
      "problem_name": "Oreperations Research",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "E",
      "problem_id": 21154,
      "problem_name": "Over the Hill, Part 1",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "F",
      "problem_id": 21155,
      "problem_name": "Over the Hill, Part 2",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "G",
      "problem_id": 21156,
      "problem_name": "A Rank Problem",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "H",
      "problem_id": 21157,
      "problem_name": "Restroom Monitor",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "I",
      "problem_id": 21158,
      "problem_name": "Scholar's Lawn",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dijkstra's",
        "geometry",
        "graph theory",
        "line segment intersection check",
        "sorting",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "geometry",
        "graphs",
        "line_intersection",
        "sorting",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "J",
      "problem_id": 21159,
      "problem_name": "Simply Sudoku",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2456,
      "problem_letter": "K",
      "problem_id": 21160,
      "problem_name": "Weighty Tomes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2456,
      "problem_letter": "L",
      "problem_id": 21161,
      "problem_name": "Workers of the World Unite! Just Not Too Close.",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2457,
      "problem_letter": "A",
      "problem_id": 21163,
      "problem_name": "LogDB",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "B",
      "problem_id": 21164,
      "problem_name": "Ride-Hailing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching",
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bipartite_matching",
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "C",
      "problem_id": 21165,
      "problem_name": "Redundant Binary Notation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "D",
      "problem_id": 21166,
      "problem_name": "Substring Characters",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "E",
      "problem_id": 21167,
      "problem_name": "Curve Speed",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "F",
      "problem_id": 21168,
      "problem_name": "Agamemnon's Odyssey",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "G",
      "problem_id": 21169,
      "problem_name": "Safest Taxi",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2457,
      "problem_letter": "H",
      "problem_id": 21170,
      "problem_name": "Digital Speedometer",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "case work",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "I",
      "problem_id": 21171,
      "problem_name": "Staggering to the Finish",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2457,
      "problem_letter": "J",
      "problem_id": 21172,
      "problem_name": "Ada Loveslaces",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2457,
      "problem_letter": "K",
      "problem_id": 21173,
      "problem_name": "ICPC Record Matching",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2457,
      "problem_letter": "L",
      "problem_id": 21174,
      "problem_name": "Codenames",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming using bitfield",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_bitfield",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "1",
      "problem_id": 21173,
      "problem_name": "ICPC Record Matching",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "2",
      "problem_id": 21164,
      "problem_name": "Ride-Hailing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bipartite matching",
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bipartite_matching",
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "3",
      "problem_id": 21167,
      "problem_name": "Curve Speed",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "4",
      "problem_id": 21163,
      "problem_name": "LogDB",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "5",
      "problem_id": 21170,
      "problem_name": "Digital Speedometer",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "case work",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "6",
      "problem_id": 21172,
      "problem_name": "Ada Loveslaces",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2458,
      "problem_letter": "7",
      "problem_id": 21174,
      "problem_name": "Codenames",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming using bitfield",
        "mathematics",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_bitfield",
        "math",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "8",
      "problem_id": 21166,
      "problem_name": "Substring Characters",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "9",
      "problem_id": 21165,
      "problem_name": "Redundant Binary Notation",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 2458,
      "problem_letter": "10",
      "problem_id": 21171,
      "problem_name": "Staggering to the Finish",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2458,
      "problem_letter": "11",
      "problem_id": 21169,
      "problem_name": "Safest Taxi",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2459,
      "problem_letter": "A",
      "problem_id": 21134,
      "problem_name": "Ant Typing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "B",
      "problem_id": 21139,
      "problem_name": "Exam Manipulation",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "C",
      "problem_id": 21137,
      "problem_name": "Condorcet",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bruteforcing",
        "graph theory",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "D",
      "problem_id": 21145,
      "problem_name": "Rainbow Numbers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "E",
      "problem_id": 21175,
      "problem_name": "Painted Corridors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "case work",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "case_work",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "F",
      "problem_id": 21146,
      "problem_name": "Rating Problems",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "G",
      "problem_id": 21140,
      "problem_name": "Exciting Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "H",
      "problem_id": 21147,
      "problem_name": "Triangular Collection",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "I",
      "problem_id": 21148,
      "problem_name": "TripTik",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "segment tree",
        "binary search",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "segtree",
        "binary_search",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "J",
      "problem_id": 21135,
      "problem_name": "Bad Packing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "prefix sum",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "prefix_sum",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "K",
      "problem_id": 21144,
      "problem_name": "Missing Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "L",
      "problem_id": 21142,
      "problem_name": "Longest Common Subsequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "M",
      "problem_id": 21149,
      "problem_name": "Unread Messages",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "N",
      "problem_id": 21136,
      "problem_name": "Bitonic Ordering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2459,
      "problem_letter": "O",
      "problem_id": 21176,
      "problem_name": "Smoothie Stand",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "A",
      "problem_id": 21177,
      "problem_name": "No Thanks!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "B",
      "problem_id": 21139,
      "problem_name": "Exam Manipulation",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "C",
      "problem_id": 21175,
      "problem_name": "Painted Corridors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "case work",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "case_work",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "D",
      "problem_id": 21178,
      "problem_name": "Basic Basis",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "arbitrary precision / big integers",
        "bitmask",
        "greedy",
        "implementation",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "bitmask",
        "greedy",
        "implementation",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "E",
      "problem_id": 21136,
      "problem_name": "Bitonic Ordering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "F",
      "problem_id": 21179,
      "problem_name": "Derangement Rotations",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "G",
      "problem_id": 21134,
      "problem_name": "Ant Typing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "H",
      "problem_id": 21138,
      "problem_name": "Dominating Duos",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "I",
      "problem_id": 21148,
      "problem_name": "TripTik",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "segment tree",
        "binary search",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "segtree",
        "binary_search",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "J",
      "problem_id": 21142,
      "problem_name": "Longest Common Subsequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "K",
      "problem_id": 21137,
      "problem_name": "Condorcet",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bruteforcing",
        "graph theory",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "L",
      "problem_id": 21141,
      "problem_name": "Kth Subtree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "M",
      "problem_id": 21135,
      "problem_name": "Bad Packing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "prefix sum",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "prefix_sum",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "N",
      "problem_id": 21140,
      "problem_name": "Exciting Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "O",
      "problem_id": 21145,
      "problem_name": "Rainbow Numbers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "P",
      "problem_id": 21180,
      "problem_name": "Reconstruct Sum",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2460,
      "problem_letter": "Q",
      "problem_id": 21147,
      "problem_name": "Triangular Collection",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "R",
      "problem_id": 21177,
      "problem_name": "No Thanks!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "S",
      "problem_id": 21139,
      "problem_name": "Exam Manipulation",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "T",
      "problem_id": 21175,
      "problem_name": "Painted Corridors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "case work",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "case_work",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "U",
      "problem_id": 21178,
      "problem_name": "Basic Basis",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "arbitrary precision / big integers",
        "bitmask",
        "greedy",
        "implementation",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "bitmask",
        "greedy",
        "implementation",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "V",
      "problem_id": 21136,
      "problem_name": "Bitonic Ordering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "W",
      "problem_id": 21179,
      "problem_name": "Derangement Rotations",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "X",
      "problem_id": 21134,
      "problem_name": "Ant Typing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "Y",
      "problem_id": 21138,
      "problem_name": "Dominating Duos",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "Z",
      "problem_id": 21144,
      "problem_name": "Missing Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AA",
      "problem_id": 21142,
      "problem_name": "Longest Common Subsequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AB",
      "problem_id": 21146,
      "problem_name": "Rating Problems",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AC",
      "problem_id": 21143,
      "problem_name": "Magic Trick",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AD",
      "problem_id": 21135,
      "problem_name": "Bad Packing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "prefix sum",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "prefix_sum",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AE",
      "problem_id": 21181,
      "problem_name": "Kangaroo Party",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AF",
      "problem_id": 21145,
      "problem_name": "Rainbow Numbers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AG",
      "problem_id": 21180,
      "problem_name": "Reconstruct Sum",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2461,
      "problem_letter": "AH",
      "problem_id": 21147,
      "problem_name": "Triangular Collection",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "A",
      "problem_id": 21146,
      "problem_name": "Rating Problems",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "B",
      "problem_id": 21149,
      "problem_name": "Unread Messages",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "C",
      "problem_id": 21134,
      "problem_name": "Ant Typing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "D",
      "problem_id": 21138,
      "problem_name": "Dominating Duos",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "E",
      "problem_id": 21140,
      "problem_name": "Exciting Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "F",
      "problem_id": 21135,
      "problem_name": "Bad Packing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "prefix sum",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "prefix_sum",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "G",
      "problem_id": 21175,
      "problem_name": "Painted Corridors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "case work",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "case_work",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "H",
      "problem_id": 21148,
      "problem_name": "TripTik",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "segment tree",
        "binary search",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "segtree",
        "binary_search",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "I",
      "problem_id": 21136,
      "problem_name": "Bitonic Ordering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "J",
      "problem_id": 21178,
      "problem_name": "Basic Basis",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "arbitrary precision / big integers",
        "bitmask",
        "greedy",
        "implementation",
        "linear algebra",
        "mathematics"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "bitmask",
        "greedy",
        "implementation",
        "linear_algebra",
        "math"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "K",
      "problem_id": 21141,
      "problem_name": "Kth Subtree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "L",
      "problem_id": 21142,
      "problem_name": "Longest Common Subsequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "M",
      "problem_id": 21144,
      "problem_name": "Missing Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2462,
      "problem_letter": "N",
      "problem_id": 21177,
      "problem_name": "No Thanks!",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "A",
      "problem_id": 21134,
      "problem_name": "Ant Typing",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "B",
      "problem_id": 21135,
      "problem_name": "Bad Packing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "sorting",
        "prefix sum",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "prefix_sum",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "C",
      "problem_id": 21136,
      "problem_name": "Bitonic Ordering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "D",
      "problem_id": 21137,
      "problem_name": "Condorcet",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bruteforcing",
        "graph theory",
        "mathematics",
        "parametric search"
      ],
      "tag_keys": [
        "bruteforcing",
        "graphs",
        "math",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "E",
      "problem_id": 21138,
      "problem_name": "Dominating Duos",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "F",
      "problem_id": 21139,
      "problem_name": "Exam Manipulation",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "G",
      "problem_id": 21140,
      "problem_name": "Exciting Tournament",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "minimum cost maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mcmf",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "H",
      "problem_id": 21141,
      "problem_name": "Kth Subtree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "I",
      "problem_id": 21142,
      "problem_name": "Longest Common Subsequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "J",
      "problem_id": 21143,
      "problem_name": "Magic Trick",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "K",
      "problem_id": 21144,
      "problem_name": "Missing Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "L",
      "problem_id": 21145,
      "problem_name": "Rainbow Numbers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "M",
      "problem_id": 21146,
      "problem_name": "Rating Problems",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "N",
      "problem_id": 21147,
      "problem_name": "Triangular Collection",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "O",
      "problem_id": 21148,
      "problem_name": "TripTik",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "segment tree",
        "binary search",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "segtree",
        "binary_search",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2463,
      "problem_letter": "P",
      "problem_id": 21149,
      "problem_name": "Unread Messages",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "A",
      "problem_id": 21182,
      "problem_name": "Weird Flecks, But OK",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "heuristics",
        "minimum enclosing circle"
      ],
      "tag_keys": [
        "geometry",
        "heuristics",
        "min_enclosing_circle"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "B",
      "problem_id": 21183,
      "problem_name": "Code Names",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "parity"
      ],
      "tag_keys": [
        "bipartite_matching",
        "parity"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "C",
      "problem_id": 21184,
      "problem_name": "New Maths",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "D",
      "problem_id": 21185,
      "problem_name": "Some Sum",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "E",
      "problem_id": 21186,
      "problem_name": "Early Orders",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "set / map by trees",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "tree_set",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "F",
      "problem_id": 21187,
      "problem_name": "Pulling Their Weight",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "sorting",
        "binary search",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting",
        "binary_search",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "G",
      "problem_id": 21188,
      "problem_name": "Birthday Paradox",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "H",
      "problem_id": 21189,
      "problem_name": "On Average They're Purple",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "I",
      "problem_id": 21190,
      "problem_name": "Full Depth Morning Show",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2464,
      "problem_letter": "J",
      "problem_id": 21191,
      "problem_name": "This Ain't Your Grandpa's Checkerboard",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2464,
      "problem_letter": "K",
      "problem_id": 21192,
      "problem_name": "Solar Energy",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2465,
      "problem_letter": "A",
      "problem_id": 21208,
      "problem_name": "Gratitude",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "B",
      "problem_id": 21209,
      "problem_name": "Rule 110",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2465,
      "problem_letter": "C",
      "problem_id": 21210,
      "problem_name": "Safe Distance",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "geometry",
        "binary search",
        "disjoint set",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "geometry",
        "binary_search",
        "disjoint_set",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "D",
      "problem_id": 21211,
      "problem_name": "Jogging",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "ad_hoc",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "E",
      "problem_id": 21212,
      "problem_name": "Cakes",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "F",
      "problem_id": 21213,
      "problem_name": "Mentors",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "G",
      "problem_id": 21214,
      "problem_name": "Decoration",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "graph theory",
        "data structures",
        "number theory",
        "sparse table",
        "functional graph"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "data_structures",
        "number_theory",
        "sparse_table",
        "functional_graph"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "H",
      "problem_id": 21215,
      "problem_name": "Figurines",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "merge sort tree",
        "persistent segment tree",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "merge_sort_tree",
        "pst",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "I",
      "problem_id": 21216,
      "problem_name": "Emails",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "J",
      "problem_id": 21217,
      "problem_name": "Daisy’s Mazes",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "K",
      "problem_id": 21218,
      "problem_name": "Unique Activities",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "binary search",
        "parametric search",
        "hashing",
        "suffix array and lcp array",
        "rabin–karp"
      ],
      "tag_keys": [
        "string",
        "binary_search",
        "parametric_search",
        "hashing",
        "suffix_array",
        "rabin_karp"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "L",
      "problem_id": 21219,
      "problem_name": "Restaurants",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "greedy",
        "stable marriage problem"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stable_marriage"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stable_marriage",
          "name": "stable marriage problem",
          "boj_tag_id": 192
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "M",
      "problem_id": 21220,
      "problem_name": "Fantasmagorie",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2465,
      "problem_letter": "PA",
      "problem_id": 21193,
      "problem_name": "Magic Scale",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "sorting",
        "priority queue",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "priority_queue",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "PB",
      "problem_id": 21194,
      "problem_name": "Meditation",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "PC",
      "problem_id": 21195,
      "problem_name": "Rounds",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "data structures",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2465,
      "problem_letter": "PD",
      "problem_id": 21196,
      "problem_name": "Statues",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "A",
      "problem_id": 21197,
      "problem_name": "Stopwatch",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "B",
      "problem_id": 21198,
      "problem_name": "Arithmetic Decoding",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "C",
      "problem_id": 21199,
      "problem_name": "Paper Snowflakes",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "sorting",
        "binary search",
        "prefix sum",
        "sweeping",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "binary_search",
        "prefix_sum",
        "sweeping",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "D",
      "problem_id": 21200,
      "problem_name": "Forced Choice",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "E",
      "problem_id": 21201,
      "problem_name": "Interview Queue",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "linked list"
      ],
      "tag_keys": [
        "data_structures",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "F",
      "problem_id": 21202,
      "problem_name": "Conquest",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "G",
      "problem_id": 21203,
      "problem_name": "Distance",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "H",
      "problem_id": 21204,
      "problem_name": "Antimatter Rain",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "stack",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "stack",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "I",
      "problem_id": 21205,
      "problem_name": "Vaccine Efficacy",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "J",
      "problem_id": 21206,
      "problem_name": "Pegs and Legs",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2466,
      "problem_letter": "K",
      "problem_id": 21207,
      "problem_name": "Train Boarding",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "A",
      "problem_id": 21300,
      "problem_name": "Bottle Return",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "B",
      "problem_id": 21301,
      "problem_name": "Comfy Deviations",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "C",
      "problem_id": 21302,
      "problem_name": "Arthur's Table",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2484,
      "problem_letter": "D",
      "problem_id": 21303,
      "problem_name": "Magic Drone",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2484,
      "problem_letter": "E",
      "problem_id": 21304,
      "problem_name": "Marbles",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "F",
      "problem_id": 21305,
      "problem_name": "Chocolate Bar Game",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "game theory",
        "mathematics",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "game_theory",
        "math",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "G",
      "problem_id": 21306,
      "problem_name": "Three Triangles",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "H",
      "problem_id": 21307,
      "problem_name": "ICPC Standings",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "I",
      "problem_id": 21308,
      "problem_name": "Ternary Machine",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "implementation",
        "parsing",
        "simulation",
        "stack",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "parsing",
        "simulation",
        "stack",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "J",
      "problem_id": 21309,
      "problem_name": "Cardinal Adjacencies",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "K",
      "problem_id": 21310,
      "problem_name": "Stern’s Sequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 2484,
      "problem_letter": "L",
      "problem_id": 21311,
      "problem_name": "Evenly Separated Strings",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "A",
      "problem_id": 21337,
      "problem_name": "Atomic Energy",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "B",
      "problem_id": 21338,
      "problem_name": "Bulldozer",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "dynamic programming",
        "graph theory",
        "data structures",
        "greedy",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "stack"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "data_structures",
        "greedy",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "stack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "C",
      "problem_id": 21339,
      "problem_name": "Contest Struggles",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "D",
      "problem_id": 21340,
      "problem_name": "Dragon Balls",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "geometry",
        "randomization",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "randomization",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "E",
      "problem_id": 21341,
      "problem_name": "Endgame",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "meet in the middle",
        "randomization"
      ],
      "tag_keys": [
        "mitm",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "F",
      "problem_id": 21342,
      "problem_name": "Flight Collision",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "set / map",
        "priority queue",
        "set / map by trees",
        "linked list"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "priority_queue",
        "tree_set",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "G",
      "problem_id": 21343,
      "problem_name": "Great Expectations",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "dynamic programming",
        "mathematics",
        "parametric search",
        "probability theory"
      ],
      "tag_keys": [
        "binary_search",
        "dp",
        "math",
        "parametric_search",
        "probability"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "H",
      "problem_id": 21344,
      "problem_name": "Hot Springs",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "I",
      "problem_id": 21345,
      "problem_name": "Island Tour",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "J",
      "problem_id": 21346,
      "problem_name": "Joint Excavation",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "K",
      "problem_id": 21347,
      "problem_name": "Keyboardd",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "PA",
      "problem_id": 21335,
      "problem_name": "Another Eruption",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "PB",
      "problem_id": 15611,
      "problem_name": "Broken Gearbox",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2488,
      "problem_letter": "PC",
      "problem_id": 21336,
      "problem_name": "Cheating",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "A",
      "problem_id": 21384,
      "problem_name": "Average distance",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "tree",
        "combinatorics",
        "depth-first search",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "trees",
        "combinatorics",
        "dfs",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "B",
      "problem_id": 21385,
      "problem_name": "Bus Pass",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "breadth-first search",
        "bruteforcing",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bruteforcing",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "C",
      "problem_id": 21386,
      "problem_name": "Cutting Banknotes",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "D",
      "problem_id": 21387,
      "problem_name": "Dice Password Security",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "E",
      "problem_id": 21388,
      "problem_name": "Lingo",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "dynamic programming"
      ],
      "tag_keys": [
        "bitmask",
        "dp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "F",
      "problem_id": 21389,
      "problem_name": "Splitting the Loot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "binary search",
        "data structures",
        "greedy",
        "mathematics",
        "priority queue"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "greedy",
        "math",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "G",
      "problem_id": 21390,
      "problem_name": "Pachinko",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "simulation",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "simulation",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "H",
      "problem_id": 21391,
      "problem_name": "Hiking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "mathematics",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "math",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "I",
      "problem_id": 21392,
      "problem_name": "Ranking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "data structures",
        "implementation",
        "sorting",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "implementation",
        "sorting",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2496,
      "problem_letter": "J",
      "problem_id": 21393,
      "problem_name": "Stock",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "ad-hoc",
        "priority queue"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "ad_hoc",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "A",
      "problem_id": 21585,
      "problem_name": "Alien Microwave",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "B",
      "problem_id": 21586,
      "problem_name": "Another Substring Query Problem",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "merge sort tree",
        "segment tree",
        "sorting",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "merge_sort_tree",
        "segtree",
        "sorting",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "C",
      "problem_id": 21587,
      "problem_name": "Borders",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "D",
      "problem_id": 21588,
      "problem_name": "Circle of Friends",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "E",
      "problem_id": 21589,
      "problem_name": "Finding Polly",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2517,
      "problem_letter": "F",
      "problem_id": 21590,
      "problem_name": "Investigating Imposters",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "G",
      "problem_id": 21591,
      "problem_name": "Laptop Sticker",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "H",
      "problem_id": 21592,
      "problem_name": "Longest Common Substring",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "I",
      "problem_id": 21593,
      "problem_name": "Simple Cron Spec",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "parsing",
        "string"
      ],
      "tag_keys": [
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "J",
      "problem_id": 21594,
      "problem_name": "Surveillance",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "calculus",
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2517,
      "problem_letter": "K",
      "problem_id": 21595,
      "problem_name": "Train Line",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2517,
      "problem_letter": "L",
      "problem_id": 21596,
      "problem_name": "Window Shopping",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2517,
      "problem_letter": "M",
      "problem_id": 21597,
      "problem_name": "You Be the Judge!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "case work",
        "parsing",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "case_work",
        "parsing",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "A",
      "problem_id": 21905,
      "problem_name": "Archeologists",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "prefix sum",
        "priority queue",
        "slope trick"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "prefix_sum",
        "priority_queue",
        "slope_trick"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "slope_trick",
          "name": "slope trick",
          "boj_tag_id": 157
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "B",
      "problem_id": 21906,
      "problem_name": "Reverse Game",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "C",
      "problem_id": 21907,
      "problem_name": "3-colorings",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "constructive",
        "graph theory"
      ],
      "tag_keys": [
        "constructive",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "D",
      "problem_id": 21908,
      "problem_name": "Disk Sort",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "E",
      "problem_id": 21909,
      "problem_name": "Divisible by 3",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "F",
      "problem_id": 21910,
      "problem_name": "Fence Job",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "G",
      "problem_id": 21911,
      "problem_name": "Simple Hull",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2566,
      "problem_letter": "H",
      "problem_id": 21912,
      "problem_name": "AND = OR",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "case work",
        "bitmask"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "case_work",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "I",
      "problem_id": 21913,
      "problem_name": "Modulo Permutations",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "J",
      "problem_id": 21914,
      "problem_name": "One Piece",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "graph theory",
        "data structures",
        "graph traversal",
        "tree",
        "segment tree",
        "depth-first search",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "data_structures",
        "graph_traversal",
        "trees",
        "segtree",
        "dfs",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "K",
      "problem_id": 21915,
      "problem_name": "Codenames",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bitmask"
      ],
      "tag_keys": [
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "L",
      "problem_id": 21916,
      "problem_name": "Neo-Robin Hood",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "binary search",
        "priority queue",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "binary_search",
        "priority_queue",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2566,
      "problem_letter": "M",
      "problem_id": 21917,
      "problem_name": "Mistake",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "directed acyclic graph",
        "graph theory",
        "greedy",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "graphs",
        "greedy",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "A",
      "problem_id": 21926,
      "problem_name": "Three-Axis Views",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "B",
      "problem_id": 21927,
      "problem_name": "Secrets of Legendary Treasure",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "greedy",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "C",
      "problem_id": 21928,
      "problem_name": "Short Coding",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "constructive",
        "simulation",
        "depth-first search",
        "backtracking"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "constructive",
        "simulation",
        "dfs",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "D",
      "problem_id": 21929,
      "problem_name": "Colorful Rectangle",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "sweeping",
        "divide and conquer",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "sweeping",
        "divide_and_conquer",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "E",
      "problem_id": 21930,
      "problem_name": "Jewelry Size",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "F",
      "problem_id": 21931,
      "problem_name": "Solar Car",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "G",
      "problem_id": 21932,
      "problem_name": "To be Connected, or not to be, that is the Question",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "H",
      "problem_id": 21933,
      "problem_name": "LCM of GCDs",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "I",
      "problem_id": 21934,
      "problem_name": "High-Tech Detective",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "J",
      "problem_id": 21935,
      "problem_name": "Formica Sokobanica",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2567,
      "problem_letter": "K",
      "problem_id": 21936,
      "problem_name": "Suffixes may Contain Prefixes",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "string",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "dp",
        "string",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "A",
      "problem_id": 21985,
      "problem_name": "ASCII Automata Art",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "parsing",
        "recursion",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "recursion",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "B",
      "problem_id": 21986,
      "problem_name": "Button Lock",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bipartite matching",
        "maximum flow",
        "graph theory",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "bipartite_matching",
        "flow",
        "graphs",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "C",
      "problem_id": 21987,
      "problem_name": "Cactus Not Enough",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "graph theory",
        "tree",
        "dynamic programming on trees",
        "articulation points and bridges",
        "cactus"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "trees",
        "dp_tree",
        "articulation",
        "cactus"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "D",
      "problem_id": 21988,
      "problem_name": "Digits",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "number theory",
        "knapsack",
        "traceback"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "number_theory",
        "knapsack",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "E",
      "problem_id": 21989,
      "problem_name": "Equilibrium Point /\\/\\",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "geometry",
        "meet in the middle"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "F",
      "problem_id": 21990,
      "problem_name": "Fiber Shape",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2575,
      "problem_letter": "G",
      "problem_id": 21991,
      "problem_name": "Guide",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "H",
      "problem_id": 21992,
      "problem_name": "Hard Optimization",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2575,
      "problem_letter": "I",
      "problem_id": 21993,
      "problem_name": "Is It Rated?",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "randomization",
        "heuristics",
        "statistics"
      ],
      "tag_keys": [
        "math",
        "randomization",
        "heuristics",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "J",
      "problem_id": 21994,
      "problem_name": "Japanese Game",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2575,
      "problem_letter": "K",
      "problem_id": 21995,
      "problem_name": "King’s Task",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "A",
      "problem_id": 22264,
      "problem_name": "Almost Origami",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "constructive",
        "backtracking",
        "precomputation"
      ],
      "tag_keys": [
        "constructive",
        "backtracking",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "B",
      "problem_id": 22265,
      "problem_name": "Beautiful Mountains",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "harmonic number"
      ],
      "tag_keys": [
        "data_structures",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "C",
      "problem_id": 22266,
      "problem_name": "Crisis at the Wedding",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "D",
      "problem_id": 22267,
      "problem_name": "Dividing Candy",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "E",
      "problem_id": 22268,
      "problem_name": "Excellent Views",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "sorting",
        "set / map",
        "prefix sum",
        "set / map by trees",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "set",
        "prefix_sum",
        "tree_set",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "F",
      "problem_id": 22269,
      "problem_name": "Fascinating Partitions",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "G",
      "problem_id": 22270,
      "problem_name": "Game of Slots",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "H",
      "problem_id": 22271,
      "problem_name": "Halting Wolf",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "I",
      "problem_id": 22272,
      "problem_name": "Impenetrable Wall",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull",
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "J",
      "problem_id": 22273,
      "problem_name": "Job Allocator",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "K",
      "problem_id": 22274,
      "problem_name": "Keylogger",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "binary search",
        "prefix sum",
        "difference array"
      ],
      "tag_keys": [
        "dp",
        "binary_search",
        "prefix_sum",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "L",
      "problem_id": 22275,
      "problem_name": "Lola’s Schedule",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "M",
      "problem_id": 22276,
      "problem_name": "May I Add a Letter?",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "case work",
        "data structures",
        "offline queries",
        "sparse table",
        "string",
        "suffix array and lcp array",
        "tree",
        "set / map by trees",
        "trie",
        "set / map"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "offline_queries",
        "sparse_table",
        "string",
        "suffix_array",
        "trees",
        "tree_set",
        "trie",
        "set"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2611,
      "problem_letter": "N",
      "problem_id": 22277,
      "problem_name": "Non-Integer Donuts",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "A",
      "problem_id": 22279,
      "problem_name": "Quality-Adjusted Life-Year",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "B",
      "problem_id": 22280,
      "problem_name": "Gwen's Gift",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "prefix sum",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "prefix_sum",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "C",
      "problem_id": 22281,
      "problem_name": "Forest for the Trees",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "D",
      "problem_id": 22282,
      "problem_name": "H-Index",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "E",
      "problem_id": 22283,
      "problem_name": "Driving Lanes",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "F",
      "problem_id": 22284,
      "problem_name": "Treasure Spotting",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "G",
      "problem_id": 22285,
      "problem_name": "Neighborhood Watch",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "H",
      "problem_id": 22286,
      "problem_name": "Small Schedule",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "I",
      "problem_id": 22287,
      "problem_name": "Mr. Plow King",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "greedy",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 2613,
      "problem_letter": "J",
      "problem_id": 22288,
      "problem_name": "Rainbow Road Race",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "bitmask",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "bitmask",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2616,
      "problem_letter": "1",
      "problem_id": 22297,
      "problem_name": "Map Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2616,
      "problem_letter": "2",
      "problem_id": 22298,
      "problem_name": "Ancient Numerals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2616,
      "problem_letter": "3",
      "problem_id": 22299,
      "problem_name": "Cipher",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2616,
      "problem_letter": "4",
      "problem_id": 22300,
      "problem_name": "Runners",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2616,
      "problem_letter": "5",
      "problem_id": 22301,
      "problem_name": "Palindrome Numbers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "string",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2616,
      "problem_letter": "6",
      "problem_id": 22302,
      "problem_name": "Factorial Factors",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 2616,
      "problem_letter": "7",
      "problem_id": 22303,
      "problem_name": "Chuck's Challenge",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2616,
      "problem_letter": "8",
      "problem_id": 22304,
      "problem_name": "Optic Communications",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2616,
      "problem_letter": "9",
      "problem_id": 22305,
      "problem_name": "Resources",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2705,
      "problem_letter": "G",
      "problem_id": 22756,
      "problem_name": "Widget Factory",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2707,
      "problem_letter": "D",
      "problem_id": 22759,
      "problem_name": "Safe Packing",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2707,
      "problem_letter": "F",
      "problem_id": 22763,
      "problem_name": "Wireing Assistant",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "shortest path",
        "dijkstra's",
        "value / coordinate compression",
        "grid graph",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "shortest_path",
        "dijkstra",
        "coordinate_compression",
        "grid_graph",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 2708,
      "problem_letter": "H",
      "problem_id": 22762,
      "problem_name": "Counting Triangles",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "combinatorics",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "combinatorics",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 2711,
      "problem_letter": "?",
      "problem_id": 22774,
      "problem_name": "Lego Land",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2712,
      "problem_letter": "F",
      "problem_id": 22775,
      "problem_name": "Trees",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "string",
        "tree",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "trees",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2712,
      "problem_letter": "I",
      "problem_id": 22776,
      "problem_name": "Colors",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2714,
      "problem_letter": "F",
      "problem_id": 22784,
      "problem_name": "The Revolution of the Ants",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2714,
      "problem_letter": "G",
      "problem_id": 22783,
      "problem_name": "Game Fan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2714,
      "problem_letter": "H",
      "problem_id": 22780,
      "problem_name": "How Many Days Are There?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2717,
      "problem_letter": "?",
      "problem_id": 22787,
      "problem_name": "Crop Circles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2717,
      "problem_letter": "?",
      "problem_id": 22790,
      "problem_name": "Inside Information",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "ad-hoc",
        "geometry",
        "binary search",
        "parsing",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "geometry",
        "binary_search",
        "parsing",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 2717,
      "problem_letter": "?",
      "problem_id": 22791,
      "problem_name": "Auburn Courier and Messages",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2718,
      "problem_letter": "A",
      "problem_id": 22788,
      "problem_name": "Prime Digital Roots",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "simulation",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "simulation",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 2719,
      "problem_letter": "B",
      "problem_id": 22789,
      "problem_name": "Ski Slopes",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2720,
      "problem_letter": "H",
      "problem_id": 22792,
      "problem_name": "Similarity",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "string",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2721,
      "problem_letter": "A",
      "problem_id": 22793,
      "problem_name": "Radix 3",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2723,
      "problem_letter": "?",
      "problem_id": 22795,
      "problem_name": "Visible Squares",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2724,
      "problem_letter": "F",
      "problem_id": 22797,
      "problem_name": "Walk an Equation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2725,
      "problem_letter": "E",
      "problem_id": 22798,
      "problem_name": "Permutation",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2727,
      "problem_letter": "A",
      "problem_id": 22804,
      "problem_name": "Art of War",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2728,
      "problem_letter": "A",
      "problem_id": 22808,
      "problem_name": "Carl the Ant",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2728,
      "problem_letter": "C",
      "problem_id": 22806,
      "problem_name": "Image is Everything",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2728,
      "problem_letter": "D",
      "problem_id": 22805,
      "problem_name": "Insecure in Prague",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2728,
      "problem_letter": "F",
      "problem_id": 22807,
      "problem_name": "Merging Maps",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2728,
      "problem_letter": "I",
      "problem_id": 22809,
      "problem_name": "Suspense!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2729,
      "problem_letter": "A",
      "problem_id": 22810,
      "problem_name": "When Can We Meet?",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2729,
      "problem_letter": "B",
      "problem_id": 22811,
      "problem_name": "Get Many Persimmon Trees",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2729,
      "problem_letter": "C",
      "problem_id": 22812,
      "problem_name": "The Secret Number",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "dp",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 2729,
      "problem_letter": "D",
      "problem_id": 22813,
      "problem_name": "Building a Space Station",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "geometry",
        "minimum spanning tree",
        "geometry; 3d"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "mst",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 2729,
      "problem_letter": "E",
      "problem_id": 22814,
      "problem_name": "Square Carpets",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2730,
      "problem_letter": "A",
      "problem_id": 22815,
      "problem_name": "Exploring Caves",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2730,
      "problem_letter": "B",
      "problem_id": 22816,
      "problem_name": "Pile Up!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2730,
      "problem_letter": "C",
      "problem_id": 22817,
      "problem_name": "Kanglish : Analysis on Artificial Language",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2730,
      "problem_letter": "D",
      "problem_id": 22818,
      "problem_name": "What is the Number in my Mind ?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2730,
      "problem_letter": "E",
      "problem_id": 22819,
      "problem_name": "Enclosing Circles",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 2731,
      "problem_letter": "A",
      "problem_id": 22820,
      "problem_name": "Get a Rectangular Field",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2731,
      "problem_letter": "B",
      "problem_id": 22821,
      "problem_name": "Multi-column List",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2731,
      "problem_letter": "C",
      "problem_id": 22822,
      "problem_name": "Jigsaw Puzzles for Computers",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2731,
      "problem_letter": "D",
      "problem_id": 22823,
      "problem_name": "Missing Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2731,
      "problem_letter": "E",
      "problem_id": 22824,
      "problem_name": "Nets of Dice",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2732,
      "problem_letter": "A",
      "problem_id": 22825,
      "problem_name": "Fermat's Last Theorem",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 2732,
      "problem_letter": "B",
      "problem_id": 22826,
      "problem_name": "Patience",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2732,
      "problem_letter": "C",
      "problem_id": 22827,
      "problem_name": "Cyber Guardian",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2732,
      "problem_letter": "D",
      "problem_id": 22828,
      "problem_name": "Strange Key",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2732,
      "problem_letter": "E",
      "problem_id": 22829,
      "problem_name": "File Compression",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2733,
      "problem_letter": "A",
      "problem_id": 22830,
      "problem_name": "Lost in Space",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2733,
      "problem_letter": "B",
      "problem_id": 22831,
      "problem_name": "Family Tree",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "data structures",
        "string",
        "tree",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "string",
        "trees",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2733,
      "problem_letter": "C",
      "problem_id": 22832,
      "problem_name": "Push!!",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2733,
      "problem_letter": "D",
      "problem_id": 22833,
      "problem_name": "Pump up Batteries",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2733,
      "problem_letter": "E",
      "problem_id": 22834,
      "problem_name": "The Devil of Gravity",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2733,
      "problem_letter": "F",
      "problem_id": 22835,
      "problem_name": "Numoeba",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2733,
      "problem_letter": "G",
      "problem_id": 22836,
      "problem_name": "Telescope",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2733,
      "problem_letter": "H",
      "problem_id": 22837,
      "problem_name": "Ether Geometry",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2734,
      "problem_letter": "A",
      "problem_id": 22838,
      "problem_name": "Rational Irrationals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2734,
      "problem_letter": "B",
      "problem_id": 22839,
      "problem_name": "Square Coins",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2734,
      "problem_letter": "C",
      "problem_id": 22840,
      "problem_name": "Die Game",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2734,
      "problem_letter": "D",
      "problem_id": 22841,
      "problem_name": "Trapezoids",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2734,
      "problem_letter": "E",
      "problem_id": 22842,
      "problem_name": "Mirror Illusion",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2734,
      "problem_letter": "F",
      "problem_id": 22843,
      "problem_name": "Heavenly Jewels",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "implementation",
        "line segment intersection check",
        "mathematics",
        "area of a polygon",
        "probability theory",
        "sorting",
        "voronoi diagram"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "line_intersection",
        "math",
        "polygon_area",
        "probability",
        "sorting",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 2734,
      "problem_letter": "G",
      "problem_id": 22844,
      "problem_name": "Walking Ant",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2734,
      "problem_letter": "H",
      "problem_id": 22845,
      "problem_name": "Co-occurrence Search",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2744,
      "problem_letter": "A",
      "problem_id": 22922,
      "problem_name": "AND Permutation",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "bitmask",
        "divide and conquer"
      ],
      "tag_keys": [
        "ad_hoc",
        "bitmask",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "B",
      "problem_id": 22923,
      "problem_name": "Apple Orchard",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "mathematics",
        "geometry",
        "half plane intersection",
        "boolean operations on geometric objects",
        "voronoi diagram"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "half_plane_intersection",
        "geometric_boolean_operations",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "C",
      "problem_id": 22924,
      "problem_name": "Cleaning Robot",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "graph traversal",
        "prefix sum",
        "breadth-first search",
        "parametric search",
        "difference array"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "prefix_sum",
        "bfs",
        "parametric_search",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "D",
      "problem_id": 22925,
      "problem_name": "Contest Construction",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "E",
      "problem_id": 22926,
      "problem_name": "Ketek Counting",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "F",
      "problem_id": 22927,
      "problem_name": "Mountainous Palindromic Subarray",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "two-pointer"
      ],
      "tag_keys": [
        "bruteforcing",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "G",
      "problem_id": 22928,
      "problem_name": "Permutation CFG",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "data structures"
      ],
      "tag_keys": [
        "math",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "H",
      "problem_id": 22929,
      "problem_name": "Special Cycle",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "general matching",
        "graph theory"
      ],
      "tag_keys": [
        "general_matching",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "general_matching",
          "name": "general matching",
          "boj_tag_id": 15
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "I",
      "problem_id": 22930,
      "problem_name": "The King's Guards",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "minimum spanning tree",
        "bipartite matching",
        "matroid"
      ],
      "tag_keys": [
        "graphs",
        "mst",
        "bipartite_matching",
        "matroid"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "matroid",
          "name": "matroid",
          "boj_tag_id": 104
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "J",
      "problem_id": 22931,
      "problem_name": "The Paladin",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "K",
      "problem_id": 22932,
      "problem_name": "Token Game",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "ad-hoc",
        "dynamic programming",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "ad_hoc",
        "dp",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "L",
      "problem_id": 22933,
      "problem_name": "TraveLog",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2744,
      "problem_letter": "M",
      "problem_id": 22934,
      "problem_name": "You be The Judge, Again",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "A",
      "problem_id": 23092,
      "problem_name": "Art Transaction",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "set / map by hashing",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "graph_traversal",
        "set",
        "bfs",
        "hash_set",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "B",
      "problem_id": 23093,
      "problem_name": "Bank Robbery",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "ad-hoc",
        "tree",
        "constructive",
        "game theory",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "trees",
        "constructive",
        "game_theory",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "C",
      "problem_id": 23094,
      "problem_name": "Pizzo Collectors",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "divide and conquer",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "divide_and_conquer",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "E",
      "problem_id": 23095,
      "problem_name": "Excavation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "G",
      "problem_id": 23096,
      "problem_name": "Tobacco Growing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "M",
      "problem_id": 23097,
      "problem_name": "Rescue Mission",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "number theory",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "O",
      "problem_id": 23098,
      "problem_name": "Offices",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "linear algebra",
        "mathematics",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "linear_algebra",
        "math",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "P",
      "problem_id": 23099,
      "problem_name": "Pickpockets",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "P",
      "problem_id": 23100,
      "problem_name": "Storage Problems",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "R",
      "problem_id": 23101,
      "problem_name": "Roof Escape",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "case work",
        "geometry",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "geometry",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2795,
      "problem_letter": "S",
      "problem_id": 23102,
      "problem_name": "Screamers",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "two-pointer",
        "segment tree with lazy propagation",
        "offline queries",
        "link/cut tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "two_pointer",
        "lazyprop",
        "offline_queries",
        "link_cut_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "link_cut_tree",
          "name": "link/cut tree",
          "boj_tag_id": 98
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "A",
      "problem_id": 23192,
      "problem_name": "Cardiology",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "B",
      "problem_id": 23193,
      "problem_name": "The Cost of Speed Limits",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "C",
      "problem_id": 23194,
      "problem_name": "Domes",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "area of a polygon",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "D",
      "problem_id": 23195,
      "problem_name": "Gene Folding",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy",
        "string",
        "manacher's"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "manacher"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "manacher",
          "name": "manacher's",
          "boj_tag_id": 44
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "E",
      "problem_id": 23196,
      "problem_name": "Landscape Generator",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "prefix sum",
        "difference array"
      ],
      "tag_keys": [
        "prefix_sum",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "F",
      "problem_id": 23197,
      "problem_name": "Ley Lines",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "geometry",
        "binary search",
        "sweeping",
        "bulldozer trick"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "sweeping",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "G",
      "problem_id": 23198,
      "problem_name": "Opportunity Cost",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "mathematics",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "math",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "H",
      "problem_id": 23199,
      "problem_name": "QC QC",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "I",
      "problem_id": 23200,
      "problem_name": "Quests",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "J",
      "problem_id": 23201,
      "problem_name": "’S No Problem",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "K",
      "problem_id": 23202,
      "problem_name": "Space Walls",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "L",
      "problem_id": 23203,
      "problem_name": "Sweep Stakes",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "segment tree",
        "offline queries",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "segtree",
        "offline_queries",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "M",
      "problem_id": 23204,
      "problem_name": "Trailing Digits",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "N",
      "problem_id": 23205,
      "problem_name": "What’s Our Vector, Victor?",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 2805,
      "problem_letter": "O",
      "problem_id": 23206,
      "problem_name": "Which Planet is This?!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "knuth–morris–pratt",
        "string"
      ],
      "tag_keys": [
        "kmp",
        "string"
      ],
      "tag_details": [
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2806,
      "problem_letter": "A",
      "problem_id": 23207,
      "problem_name": "Preludes",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2806,
      "problem_letter": "B",
      "problem_id": 23208,
      "problem_name": "Limited Correspondence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "C",
      "problem_id": 23209,
      "problem_name": "Heliocentric",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "D",
      "problem_id": 23210,
      "problem_name": "In or Out",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "E",
      "problem_id": 23211,
      "problem_name": "Polish Notation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "F",
      "problem_id": 23212,
      "problem_name": "Prime Spiral",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "G",
      "problem_id": 23213,
      "problem_name": "Sierpiński circumference",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "H",
      "problem_id": 23214,
      "problem_name": "Towers of Powers 2: Power Harder",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "I",
      "problem_id": 23215,
      "problem_name": "Matrix Inverse",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "J",
      "problem_id": 23216,
      "problem_name": "Reversing Roads",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "K",
      "problem_id": 23217,
      "problem_name": "Counting Stars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2806,
      "problem_letter": "L",
      "problem_id": 23218,
      "problem_name": "Statistics",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2807,
      "problem_letter": "A",
      "problem_id": 23219,
      "problem_name": "Does Not Compute",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2807,
      "problem_letter": "B",
      "problem_id": 23220,
      "problem_name": "Formatting Text",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2807,
      "problem_letter": "C",
      "problem_id": 23221,
      "problem_name": "Genetic Search",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2807,
      "problem_letter": "D",
      "problem_id": 23222,
      "problem_name": "Unique Shapes",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 2808,
      "problem_letter": "A",
      "problem_id": 23223,
      "problem_name": "A Careful Approach",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "B",
      "problem_id": 23224,
      "problem_name": "My Bad",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "C",
      "problem_id": 23225,
      "problem_name": "The Return of Carl",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "D",
      "problem_id": 23226,
      "problem_name": "Conduit Packing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "E",
      "problem_id": 23227,
      "problem_name": "Fare and Balanced",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "F",
      "problem_id": 23228,
      "problem_name": "Deer-Proof Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "G",
      "problem_id": 23229,
      "problem_name": "House of Cards",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "H",
      "problem_id": 23230,
      "problem_name": "The Ministers’ Major Mess",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "I",
      "problem_id": 23231,
      "problem_name": "Struts and Springs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "J",
      "problem_id": 23232,
      "problem_name": "Subway Timing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2808,
      "problem_letter": "K",
      "problem_id": 23233,
      "problem_name": "Suffix-Replacement Grammars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2809,
      "problem_letter": "A",
      "problem_id": 23234,
      "problem_name": "The World Responds",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2809,
      "problem_letter": "B",
      "problem_id": 23235,
      "problem_name": "The Fastest Sorting Algorithm In The World",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2809,
      "problem_letter": "C",
      "problem_id": 23236,
      "problem_name": "Fikapaus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2809,
      "problem_letter": "D",
      "problem_id": 23237,
      "problem_name": "How Many Subtrees?",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "A",
      "problem_id": 23238,
      "problem_name": "Best Student",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "offline queries",
        "value / coordinate compression",
        "square root decomposition",
        "mo's"
      ],
      "tag_keys": [
        "offline_queries",
        "coordinate_compression",
        "sqrt_decomposition",
        "mo"
      ],
      "tag_details": [
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "B",
      "problem_id": 23239,
      "problem_name": "당근 밭",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "C",
      "problem_id": 23240,
      "problem_name": "Colorful Tower of Hanoi",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "case work",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "D",
      "problem_id": 23241,
      "problem_name": "Drones",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "E",
      "problem_id": 23242,
      "problem_name": "Histogram",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "F",
      "problem_id": 23243,
      "problem_name": "Logistical Warehouse",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "G",
      "problem_id": 23244,
      "problem_name": "Moving Logs",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "graph theory",
        "geometry",
        "set / map",
        "sweeping",
        "set / map by trees",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "graphs",
        "geometry",
        "set",
        "sweeping",
        "tree_set",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "H",
      "problem_id": 23245,
      "problem_name": "Similarity",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "sorting",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "I",
      "problem_id": 23246,
      "problem_name": "Sport Climbing Combined",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "J",
      "problem_id": 23247,
      "problem_name": "Ten",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "K",
      "problem_id": 23248,
      "problem_name": "Treasure Hunter",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "lis"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 2810,
      "problem_letter": "L",
      "problem_id": 23249,
      "problem_name": "Triangles",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "A",
      "problem_id": 23265,
      "problem_name": "Antenna Analysis",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "B",
      "problem_id": 23266,
      "problem_name": "Breaking Bars",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "backtracking",
        "bitmask",
        "greedy"
      ],
      "tag_keys": [
        "backtracking",
        "bitmask",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "C",
      "problem_id": 23267,
      "problem_name": "Customs Controls",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "ad-hoc",
        "shortest path",
        "dijkstra's",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "shortest_path",
        "dijkstra",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "D",
      "problem_id": 23268,
      "problem_name": "Deceptive Directions",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "E",
      "problem_id": 23269,
      "problem_name": "Eavesdropper Evasion",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "F",
      "problem_id": 23270,
      "problem_name": "Fortune From Folly",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "gaussian elimination",
        "linear algebra",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "gaussian_elimination",
        "linear_algebra",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "G",
      "problem_id": 23271,
      "problem_name": "Grazed Grains",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry",
        "probability theory",
        "randomization"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "probability",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "H",
      "problem_id": 23272,
      "problem_name": "Hiring Help",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "convex hull",
        "data structures",
        "geometry",
        "offline queries",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "convex_hull",
        "data_structures",
        "geometry",
        "offline_queries",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "I",
      "problem_id": 23273,
      "problem_name": "Intact Intervals",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "combinatorics",
        "hashing",
        "mathematics",
        "rabin–karp",
        "string"
      ],
      "tag_keys": [
        "combinatorics",
        "hashing",
        "math",
        "rabin_karp",
        "string"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "J",
      "problem_id": 23274,
      "problem_name": "Joint Jog Jam",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "K",
      "problem_id": 23275,
      "problem_name": "Knot Knowledge",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "L",
      "problem_id": 23276,
      "problem_name": "Locust Locus",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2816,
      "problem_letter": "M",
      "problem_id": 23277,
      "problem_name": "Marvelous Marathon",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "ad-hoc",
        "case work",
        "greedy",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "greedy",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2817,
      "problem_letter": "D",
      "problem_id": 2383,
      "problem_name": "Ferries",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2818,
      "problem_letter": "A",
      "problem_id": 23334,
      "problem_name": "Olympic Ranking",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "B",
      "problem_id": 23335,
      "problem_name": "Aliquot Sum",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "C",
      "problem_id": 23336,
      "problem_name": "A Sorting Problem",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "D",
      "problem_id": 23337,
      "problem_name": "Drunk Passenger",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "E",
      "problem_id": 23338,
      "problem_name": "Eatcoin",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "binary search",
        "parametric search",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "parametric_search",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "F",
      "problem_id": 23339,
      "problem_name": "Flip",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "segment tree with lazy propagation",
        "difference array"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "lazyprop",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "G",
      "problem_id": 23340,
      "problem_name": "Garden Park",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "sorting",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "H",
      "problem_id": 23341,
      "problem_name": "A Hard Problem",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "bruteforcing",
        "set / map",
        "bitmask",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "set",
        "bitmask",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "I",
      "problem_id": 23342,
      "problem_name": "ICPC Kingdom",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "matroid"
      ],
      "tag_keys": [
        "matroid"
      ],
      "tag_details": [
        {
          "key": "matroid",
          "name": "matroid",
          "boj_tag_id": 104
        }
      ]
    },
    {
      "contest_id": 2818,
      "problem_letter": "J",
      "problem_id": 23343,
      "problem_name": "JavaScript",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "A",
      "problem_id": 23364,
      "problem_name": "Almost Always",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "randomization",
        "birthday problem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "randomization",
        "birthday"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "birthday",
          "name": "birthday problem",
          "boj_tag_id": 203
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "B",
      "problem_id": 23365,
      "problem_name": "Buffered Buffet",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "C",
      "problem_id": 23366,
      "problem_name": "Candy Contribution",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "D",
      "problem_id": 23367,
      "problem_name": "Dickensian Dictionary",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "E",
      "problem_id": 23368,
      "problem_name": "Entering Enemy Encampment",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "bitmask",
        "game theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "bitmask",
        "game_theory",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "F",
      "problem_id": 23369,
      "problem_name": "Fridge Distraction",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "greedy",
        "deque"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "deque"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "G",
      "problem_id": 23370,
      "problem_name": "<code>git mv</code>",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "H",
      "problem_id": 23371,
      "problem_name": "Histogram",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "I",
      "problem_id": 23372,
      "problem_name": "Ice Growth",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "binary search",
        "prefix sum",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "prefix_sum",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "J",
      "problem_id": 23373,
      "problem_name": "Jack the Mole",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 2825,
      "problem_letter": "K",
      "problem_id": 23374,
      "problem_name": "Kudzu Kniving",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "ad-hoc",
        "tree",
        "set / map",
        "bitmask",
        "set / map by hashing",
        "dynamic programming on trees",
        "set / map by trees",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "ad_hoc",
        "trees",
        "set",
        "bitmask",
        "hash_set",
        "dp_tree",
        "tree_set",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "A",
      "problem_id": 23375,
      "problem_name": "Arm Coordination",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "B",
      "problem_id": 23376,
      "problem_name": "BnPC",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "C",
      "problem_id": 23377,
      "problem_name": "Cangaroo",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "D",
      "problem_id": 23378,
      "problem_name": "Decelerating Jump",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "E",
      "problem_id": 23379,
      "problem_name": "Evolutionary Excerpt",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "ad-hoc",
        "probability theory",
        "longest common subsequence"
      ],
      "tag_keys": [
        "math",
        "dp",
        "ad_hoc",
        "probability",
        "lcs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "lcs",
          "name": "longest common subsequence",
          "boj_tag_id": 219
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "F",
      "problem_id": 23380,
      "problem_name": "Fair Play",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "G",
      "problem_id": 23381,
      "problem_name": "Gyrating Glyphs",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "ad-hoc",
        "randomization"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "H",
      "problem_id": 23382,
      "problem_name": "Hamiltooonian Hike",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "I",
      "problem_id": 23383,
      "problem_name": "Implementation Irregularities",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "J",
      "problem_id": 23384,
      "problem_name": "Jail or Joyride",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "directed acyclic graph",
        "floyd–warshall",
        "graph theory",
        "graph traversal",
        "implementation",
        "shortest path",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "floyd_warshall",
        "graphs",
        "graph_traversal",
        "implementation",
        "shortest_path",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "K",
      "problem_id": 23385,
      "problem_name": "Kinking Cables",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "case work",
        "constructive",
        "geometry"
      ],
      "tag_keys": [
        "case_work",
        "constructive",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2826,
      "problem_letter": "L",
      "problem_id": 23386,
      "problem_name": "Lopsided Lineup",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "A",
      "problem_id": 23387,
      "problem_name": "Assigning Prizes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "polynomial interpolation"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "polynomial_interpolation"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "polynomial_interpolation",
          "name": "polynomial interpolation",
          "boj_tag_id": 209
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "B",
      "problem_id": 23388,
      "problem_name": "Beautiful Words",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "C",
      "problem_id": 23389,
      "problem_name": "Creating Multiples",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "D",
      "problem_id": 23390,
      "problem_name": "Dividing the Kingdom",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "inclusion and exclusion",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "inclusion_and_exclusion",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "E",
      "problem_id": 23391,
      "problem_name": "Escalator",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "F",
      "problem_id": 23392,
      "problem_name": "Freedom from Prison",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "depth-first search",
        "geometry",
        "graph theory",
        "graph traversal",
        "sweeping",
        "tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "geometry",
        "graphs",
        "graph_traversal",
        "sweeping",
        "trees",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "G",
      "problem_id": 23393,
      "problem_name": "Getting in Shape",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "backtracking",
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "H",
      "problem_id": 23394,
      "problem_name": "Handling the Blocks",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "sorting"
      ],
      "tag_keys": [
        "sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "I",
      "problem_id": 23395,
      "problem_name": "Inverting Everything",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bit set",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "bitset",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "J",
      "problem_id": 23396,
      "problem_name": "Just Bootfall",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "K",
      "problem_id": 23397,
      "problem_name": "Kathmandu",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "L",
      "problem_id": 23398,
      "problem_name": "Listing Passwords",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "data structures",
        "disjoint set",
        "graph theory",
        "hashing",
        "segment tree",
        "smaller to larger technique",
        "sparse table"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "disjoint_set",
        "graphs",
        "hashing",
        "segtree",
        "smaller_to_larger",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "M",
      "problem_id": 23399,
      "problem_name": "Monarchy in Vertigo",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack",
        "offline queries",
        "deque"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "trees",
        "dfs",
        "stack",
        "offline_queries",
        "deque"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        }
      ]
    },
    {
      "contest_id": 2827,
      "problem_letter": "N",
      "problem_id": 23400,
      "problem_name": "No Luck",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "sorting",
        "segment tree",
        "offline queries",
        "merge sort tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree",
        "offline_queries",
        "merge_sort_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "A",
      "problem_id": 23566,
      "problem_name": "Ant Colonies",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "offline queries",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "offline_queries",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "B",
      "problem_id": 23567,
      "problem_name": "Double Rainbow",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "two-pointer"
      ],
      "tag_keys": [
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "C",
      "problem_id": 23568,
      "problem_name": "Find the House",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "simulation",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "simulation",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "D",
      "problem_id": 23569,
      "problem_name": "Friendship Graphs",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "knapsack",
        "bipartite graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "knapsack",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "E",
      "problem_id": 23570,
      "problem_name": "Grid Triangle",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "F",
      "problem_id": 23571,
      "problem_name": "John’s Gift",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "G",
      "problem_id": 23572,
      "problem_name": "Logistical Warehouse 2",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "H",
      "problem_id": 23573,
      "problem_name": "Postman",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "case work",
        "data structures",
        "greedy",
        "implementation",
        "priority queue",
        "sorting",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "greedy",
        "implementation",
        "priority_queue",
        "sorting",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "I",
      "problem_id": 23574,
      "problem_name": "Security System",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "dynamic programming",
        "geometry",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "dp",
        "geometry",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "J",
      "problem_id": 23575,
      "problem_name": "Squid Game",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "K",
      "problem_id": 23576,
      "problem_name": "Stock Price Prediction",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "knuth–morris–pratt",
        "segment tree",
        "string"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "kmp",
        "segtree",
        "string"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2859,
      "problem_letter": "L",
      "problem_id": 23577,
      "problem_name": "Trio",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 2866,
      "problem_letter": "A",
      "problem_id": 23602,
      "problem_name": "Drone With a Camera",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 2866,
      "problem_letter": "B",
      "problem_id": 23603,
      "problem_name": "Fibonaccis’ vouchers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "dp",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2866,
      "problem_letter": "C",
      "problem_id": 23604,
      "problem_name": "Chinese Remainder Theorem",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2866,
      "problem_letter": "D",
      "problem_id": 23605,
      "problem_name": "Road",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "E",
      "problem_id": 23606,
      "problem_name": "Evaluation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "F",
      "problem_id": 23607,
      "problem_name": "Baking Pans",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "G",
      "problem_id": 23608,
      "problem_name": "Taste in Art",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "H",
      "problem_id": 23609,
      "problem_name": "Hobby",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "I",
      "problem_id": 23610,
      "problem_name": "Grade Book",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "J",
      "problem_id": 23611,
      "problem_name": "Identical Scarves",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "K",
      "problem_id": 23612,
      "problem_name": "Pocket Money",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "L",
      "problem_id": 23613,
      "problem_name": "Lines",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2866,
      "problem_letter": "M",
      "problem_id": 23614,
      "problem_name": "Magical Maze",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2880,
      "problem_letter": "A",
      "problem_id": 23722,
      "problem_name": "Marbles Tell Your Lucky Number",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 2880,
      "problem_letter": "B",
      "problem_id": 23723,
      "problem_name": "Hundred-Cell Calculation Puzzles",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 2880,
      "problem_letter": "C",
      "problem_id": 23724,
      "problem_name": "Tree Transformation Puzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2880,
      "problem_letter": "D",
      "problem_id": 23725,
      "problem_name": "Handing out Balloons",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 2880,
      "problem_letter": "E",
      "problem_id": 23726,
      "problem_name": "Time is Money",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2880,
      "problem_letter": "F",
      "problem_id": 23727,
      "problem_name": "Princess' Perfectionism",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "bipartite matching",
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "greedy",
        "strongly connected component"
      ],
      "tag_keys": [
        "bipartite_matching",
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "greedy",
        "scc"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 2880,
      "problem_letter": "G",
      "problem_id": 23728,
      "problem_name": "Positioning the Lights",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2880,
      "problem_letter": "H",
      "problem_id": 23729,
      "problem_name": "Ninja Escape",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2887,
      "problem_letter": "A",
      "problem_id": 23767,
      "problem_name": "Access Denied",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "B",
      "problem_id": 23768,
      "problem_name": "Boredom Buster",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc",
        "case work",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "C",
      "problem_id": 23769,
      "problem_name": "Cutting Edge",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bruteforcing",
        "case work",
        "constructive",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "constructive",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "D",
      "problem_id": 23770,
      "problem_name": "Dyson Circle",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "E",
      "problem_id": 23771,
      "problem_name": "Exchange Students",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "F",
      "problem_id": 23772,
      "problem_name": "Flatland Olympics",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "sorting",
        "geometry",
        "segment tree",
        "sweeping",
        "angle sorting"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "geometry",
        "segtree",
        "sweeping",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "G",
      "problem_id": 23773,
      "problem_name": "Glossary Arrangement",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "dynamic programming",
        "string",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "string",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "H",
      "problem_id": 23774,
      "problem_name": "Heating Up",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "I",
      "problem_id": 23775,
      "problem_name": "IXth Problem",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "binary search",
        "case work",
        "parametric search"
      ],
      "tag_keys": [
        "implementation",
        "binary_search",
        "case_work",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "J",
      "problem_id": 23776,
      "problem_name": "Jet Set",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "K",
      "problem_id": 23777,
      "problem_name": "Knitpicking",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "case work",
        "set / map by hashing",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "case_work",
        "hash_set",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "L",
      "problem_id": 23778,
      "problem_name": "Lucky Shirt",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "PA",
      "problem_id": 12853,
      "problem_name": "Aurora Borealis",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "PB",
      "problem_id": 21983,
      "problem_name": "Basalt Breakdown",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 2887,
      "problem_letter": "PC",
      "problem_id": 23761,
      "problem_name": "Counterfeit Coin",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "A",
      "problem_id": 23779,
      "problem_name": "Silver Star Stands Alone",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "C",
      "problem_id": 23780,
      "problem_name": "TomTom Cruise",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "D",
      "problem_id": 23781,
      "problem_name": "Mad Diamond",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2888,
      "problem_letter": "F",
      "problem_id": 23782,
      "problem_name": "Burizon Fort",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "H",
      "problem_id": 23783,
      "problem_name": "Terrace Hill",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "I",
      "problem_id": 23784,
      "problem_name": "Eidam-Sand Lair",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "O",
      "problem_id": 23785,
      "problem_name": "Organ-free Man",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "P",
      "problem_id": 23786,
      "problem_name": "Bread Pit",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "number theory",
        "tree"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "math",
        "number_theory",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "R",
      "problem_id": 23787,
      "problem_name": "Cyanide Rivers",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "S",
      "problem_id": 23788,
      "problem_name": "Screamers in the Storm",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 2888,
      "problem_letter": "T",
      "problem_id": 23789,
      "problem_name": "Tone Banks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 2888,
      "problem_letter": "W",
      "problem_id": 23790,
      "problem_name": "Win Diesel",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "breadth-first search",
        "priority queue",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "bfs",
        "priority_queue",
        "lca"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "A",
      "problem_id": 24401,
      "problem_name": "Alien Integers",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "B",
      "problem_id": 24402,
      "problem_name": "Avoiding Asteroids",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3015,
      "problem_letter": "C",
      "problem_id": 24403,
      "problem_name": "Common Factors",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "greedy",
        "number theory",
        "euclidean algorithm",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory",
        "euclidean",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "D",
      "problem_id": 24404,
      "problem_name": "Dimensional Analysis",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3015,
      "problem_letter": "E",
      "problem_id": 24405,
      "problem_name": "Eye of Sauron",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "F",
      "problem_id": 24406,
      "problem_name": "ilove Strings",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "inclusion and exclusion",
        "meet in the middle"
      ],
      "tag_keys": [
        "dp",
        "inclusion_and_exclusion",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "G",
      "problem_id": 24407,
      "problem_name": "MrCodeFormatGrader",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "H",
      "problem_id": 24408,
      "problem_name": "Mult!",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "I",
      "problem_id": 24409,
      "problem_name": "Pizza Party!",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "implementation",
        "parsing",
        "string",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "hash_set",
        "implementation",
        "parsing",
        "string",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "J",
      "problem_id": 24410,
      "problem_name": "Stacking Up",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "K",
      "problem_id": 24411,
      "problem_name": "Stamp Combinations",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "binary search",
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "prefix sum",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "binary_search",
        "bruteforcing",
        "data_structures",
        "hash_set",
        "prefix_sum",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "L",
      "problem_id": 24412,
      "problem_name": "Sword Counting",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3015,
      "problem_letter": "M",
      "problem_id": 24413,
      "problem_name": "Tic-Tac State",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bitmask",
        "implementation"
      ],
      "tag_keys": [
        "bitmask",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3015,
      "problem_letter": "N",
      "problem_id": 24414,
      "problem_name": "Venn Intervals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3033,
      "problem_letter": "A",
      "problem_id": 24555,
      "problem_name": "1’s For All",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "B",
      "problem_id": 24556,
      "problem_name": "Abridged Reading",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "C",
      "problem_id": 24557,
      "problem_name": "Ball of Whacks",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "D",
      "problem_id": 24558,
      "problem_name": "Downsizing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "geometry",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "E",
      "problem_id": 24559,
      "problem_name": "Gambling Game",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "arbitrary precision / big integers",
        "case work",
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "case_work",
        "combinatorics",
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "F",
      "problem_id": 24560,
      "problem_name": "Growing Some Oobleck",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "G",
      "problem_id": 24561,
      "problem_name": "Noonerized Spumbers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "string",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "H",
      "problem_id": 24562,
      "problem_name": "Numble",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3033,
      "problem_letter": "I",
      "problem_id": 24563,
      "problem_name": "Pinned Files",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "greedy",
        "two-pointer"
      ],
      "tag_keys": [
        "ad_hoc",
        "greedy",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "J",
      "problem_id": 24564,
      "problem_name": "Recycling",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "K",
      "problem_id": 24565,
      "problem_name": "Stable Table",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "L",
      "problem_id": 24566,
      "problem_name": "Statues",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3033,
      "problem_letter": "M",
      "problem_id": 24567,
      "problem_name": "Tomb Hater",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3036,
      "problem_letter": "A",
      "problem_id": 24577,
      "problem_name": "Espresso!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "B",
      "problem_id": 24578,
      "problem_name": "Ultimate Binary Watch",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "C",
      "problem_id": 24579,
      "problem_name": "Concert Rehearsal",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "data structures",
        "binary search",
        "two-pointer",
        "sparse table"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "binary_search",
        "two_pointer",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "D",
      "problem_id": 24580,
      "problem_name": "Land Equality",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "E",
      "problem_id": 24581,
      "problem_name": "Even Substrings",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "data structures",
        "segment tree with lazy propagation",
        "prefix sum",
        "segment tree"
      ],
      "tag_keys": [
        "bitmask",
        "data_structures",
        "lazyprop",
        "prefix_sum",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "F",
      "problem_id": 24582,
      "problem_name": "Bracket Pairing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "G",
      "problem_id": 24583,
      "problem_name": "Parking Lot",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "two-pointer",
        "line segment intersection check"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "two_pointer",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "H",
      "problem_id": 24584,
      "problem_name": "Subprime",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "I",
      "problem_id": 24585,
      "problem_name": "Word Puzzle",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "J",
      "problem_id": 24586,
      "problem_name": "Code Guessing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "K",
      "problem_id": 24587,
      "problem_name": "Tree Number Generator",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "tree",
        "number theory",
        "lowest common ancestor",
        "sparse table"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "trees",
        "number_theory",
        "lca",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "L",
      "problem_id": 24588,
      "problem_name": "Lone Rook",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 3036,
      "problem_letter": "M",
      "problem_id": 24589,
      "problem_name": "Stream Lag",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "A",
      "problem_id": 24581,
      "problem_name": "Even Substrings",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "data structures",
        "segment tree with lazy propagation",
        "prefix sum",
        "segment tree"
      ],
      "tag_keys": [
        "bitmask",
        "data_structures",
        "lazyprop",
        "prefix_sum",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "B",
      "problem_id": 24587,
      "problem_name": "Tree Number Generator",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "tree",
        "number theory",
        "lowest common ancestor",
        "sparse table"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "trees",
        "number_theory",
        "lca",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "C",
      "problem_id": 24584,
      "problem_name": "Subprime",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "D",
      "problem_id": 24578,
      "problem_name": "Ultimate Binary Watch",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "E",
      "problem_id": 24580,
      "problem_name": "Land Equality",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "F",
      "problem_id": 24585,
      "problem_name": "Word Puzzle",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "G",
      "problem_id": 24586,
      "problem_name": "Code Guessing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "H",
      "problem_id": 24588,
      "problem_name": "Lone Rook",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "I",
      "problem_id": 24583,
      "problem_name": "Parking Lot",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "two-pointer",
        "line segment intersection check"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "two_pointer",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "J",
      "problem_id": 24589,
      "problem_name": "Stream Lag",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "K",
      "problem_id": 24582,
      "problem_name": "Bracket Pairing",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "L",
      "problem_id": 24577,
      "problem_name": "Espresso!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3037,
      "problem_letter": "M",
      "problem_id": 24579,
      "problem_name": "Concert Rehearsal",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "data structures",
        "binary search",
        "two-pointer",
        "sparse table"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "binary_search",
        "two_pointer",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "A",
      "problem_id": 24590,
      "problem_name": "Circle Bounce",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "B",
      "problem_id": 24591,
      "problem_name": "Shortest Missing Subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "C",
      "problem_id": 24592,
      "problem_name": "XOR Island",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "D",
      "problem_id": 24593,
      "problem_name": "Archery Accuracy",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "gaussian elimination",
        "linear algebra",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "gaussian_elimination",
        "linear_algebra",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "E",
      "problem_id": 24594,
      "problem_name": "Problem Set Construction",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "F",
      "problem_id": 24595,
      "problem_name": "Rise and Fall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "G",
      "problem_id": 24596,
      "problem_name": "Hopscotch 500",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "H",
      "problem_id": 24597,
      "problem_name": "Reversibly Cyclic Strings",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "string",
        "ad-hoc",
        "set / map"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "set"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "I",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "J",
      "problem_id": 24599,
      "problem_name": "Fail Them All!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "floyd–warshall",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "floyd_warshall",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "K",
      "problem_id": 24600,
      "problem_name": "Tournament Seeding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "L",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3038,
      "problem_letter": "M",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "N",
      "problem_id": 24603,
      "problem_name": "Scaling Recipe",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "O",
      "problem_id": 24591,
      "problem_name": "Shortest Missing Subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "P",
      "problem_id": 24604,
      "problem_name": "Black and White",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "Q",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "R",
      "problem_id": 24606,
      "problem_name": "Double Password",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "S",
      "problem_id": 24595,
      "problem_name": "Rise and Fall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "T",
      "problem_id": 24607,
      "problem_name": "Square Bounce",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "number theory",
        "simulation",
        "case work",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "number_theory",
        "simulation",
        "case_work",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "U",
      "problem_id": 24597,
      "problem_name": "Reversibly Cyclic Strings",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "string",
        "ad-hoc",
        "set / map"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "set"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "V",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "W",
      "problem_id": 24599,
      "problem_name": "Fail Them All!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "floyd–warshall",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "floyd_warshall",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "X",
      "problem_id": 24600,
      "problem_name": "Tournament Seeding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "Y",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3039,
      "problem_letter": "Z",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "A",
      "problem_id": 24604,
      "problem_name": "Black and White",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "B",
      "problem_id": 24590,
      "problem_name": "Circle Bounce",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "C",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "D",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "E",
      "problem_id": 24599,
      "problem_name": "Fail Them All!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "floyd–warshall",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "floyd_warshall",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "F",
      "problem_id": 24596,
      "problem_name": "Hopscotch 500",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "G",
      "problem_id": 24591,
      "problem_name": "Shortest Missing Subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "H",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "I",
      "problem_id": 24600,
      "problem_name": "Tournament Seeding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "J",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3040,
      "problem_letter": "K",
      "problem_id": 24592,
      "problem_name": "XOR Island",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "A",
      "problem_id": 24608,
      "problem_name": "Average Character",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "B",
      "problem_id": 24604,
      "problem_name": "Black and White",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "C",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "D",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "E",
      "problem_id": 24606,
      "problem_name": "Double Password",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "F",
      "problem_id": 24609,
      "problem_name": "Overdraft",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "G",
      "problem_id": 24595,
      "problem_name": "Rise and Fall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "H",
      "problem_id": 24607,
      "problem_name": "Square Bounce",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "number theory",
        "simulation",
        "case work",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "number_theory",
        "simulation",
        "case_work",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "I",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "J",
      "problem_id": 24600,
      "problem_name": "Tournament Seeding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "K",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3041,
      "problem_letter": "L",
      "problem_id": 24610,
      "problem_name": "Who Goes There?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "A",
      "problem_id": 24608,
      "problem_name": "Average Character",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "B",
      "problem_id": 24604,
      "problem_name": "Black and White",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "C",
      "problem_id": 24594,
      "problem_name": "Problem Set Construction",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "D",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "E",
      "problem_id": 24609,
      "problem_name": "Overdraft",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "F",
      "problem_id": 24599,
      "problem_name": "Fail Them All!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "floyd–warshall",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "floyd_warshall",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "G",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "H",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "I",
      "problem_id": 24592,
      "problem_name": "XOR Island",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "J",
      "problem_id": 24610,
      "problem_name": "Who Goes There?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3042,
      "problem_letter": "K",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "A",
      "problem_id": 24606,
      "problem_name": "Double Password",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "B",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "C",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "D",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "E",
      "problem_id": 24595,
      "problem_name": "Rise and Fall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "F",
      "problem_id": 24590,
      "problem_name": "Circle Bounce",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "G",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "H",
      "problem_id": 24592,
      "problem_name": "XOR Island",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "I",
      "problem_id": 24599,
      "problem_name": "Fail Them All!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "floyd–warshall",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "floyd_warshall",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "J",
      "problem_id": 24596,
      "problem_name": "Hopscotch 500",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "K",
      "problem_id": 24594,
      "problem_name": "Problem Set Construction",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3043,
      "problem_letter": "L",
      "problem_id": 24591,
      "problem_name": "Shortest Missing Subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "A",
      "problem_id": 24623,
      "problem_name": "Изгороди",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "B",
      "problem_id": 24624,
      "problem_name": "Анализ крипторынка",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "C",
      "problem_id": 24625,
      "problem_name": "Взять след!",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "D",
      "problem_id": 24626,
      "problem_name": "Градусы, радианы, грады",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "data structures",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "E",
      "problem_id": 24627,
      "problem_name": "Подстроки и подпоследовательности",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "F",
      "problem_id": 24628,
      "problem_name": "Если сложить...",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "G",
      "problem_id": 24629,
      "problem_name": "Генерация ключей",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "digit dp"
      ],
      "tag_keys": [
        "dp",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "H",
      "problem_id": 24630,
      "problem_name": "Супердевятка",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "I",
      "problem_id": 24631,
      "problem_name": "Шахматный конь",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "J",
      "problem_id": 24632,
      "problem_name": "Столетний дятел",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "implementation",
        "simulation",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hash_set",
        "implementation",
        "simulation",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "K",
      "problem_id": 24633,
      "problem_name": "Упавший сервер",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3048,
      "problem_letter": "L",
      "problem_id": 24634,
      "problem_name": "Развитие города",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "sorting",
        "tree",
        "segment tree",
        "binary search",
        "lowest common ancestor",
        "euler tour technique",
        "persistent segment tree",
        "parallel binary search",
        "merge sort tree"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "trees",
        "segtree",
        "binary_search",
        "lca",
        "euler_tour_technique",
        "pst",
        "pbs",
        "merge_sort_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        },
        {
          "key": "pbs",
          "name": "parallel binary search",
          "boj_tag_id": 54
        },
        {
          "key": "merge_sort_tree",
          "name": "merge sort tree",
          "boj_tag_id": 155
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "M",
      "problem_id": 24635,
      "problem_name": "Индекс примечательности",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mo's",
        "offline queries",
        "prefix sum"
      ],
      "tag_keys": [
        "mo",
        "offline_queries",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3048,
      "problem_letter": "N",
      "problem_id": 24636,
      "problem_name": "N-интересные числа",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3048,
      "problem_letter": "O",
      "problem_id": 24637,
      "problem_name": "Пожиратель кактусов",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3049,
      "problem_letter": "A",
      "problem_id": 24638,
      "problem_name": "Anno Domini 2022",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "B",
      "problem_id": 24639,
      "problem_name": "Boris and Berta",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "C",
      "problem_id": 24640,
      "problem_name": "Clean Up!",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "dynamic programming",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "D",
      "problem_id": 24641,
      "problem_name": "Day Streak",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "E",
      "problem_id": 24642,
      "problem_name": "Extreme Problem",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "F",
      "problem_id": 24643,
      "problem_name": "First to Solve",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "linearity of expectation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "linearity_of_expectation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "G",
      "problem_id": 24644,
      "problem_name": "Grand Center",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "parametric search",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "parametric_search",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "H",
      "problem_id": 24645,
      "problem_name": "Halfway There",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "bruteforcing",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "I",
      "problem_id": 24646,
      "problem_name": "Imprecise Permutation Sort",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3049,
      "problem_letter": "J",
      "problem_id": 24647,
      "problem_name": "Journey in Fog",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "greedy",
        "prefix sum",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "prefix_sum",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "K",
      "problem_id": 24648,
      "problem_name": "Kaleidoscopic Route",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "L",
      "problem_id": 24649,
      "problem_name": "Letters Q and F",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "M",
      "problem_id": 24650,
      "problem_name": "Multithreaded Program",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "constructive",
        "set / map by hashing",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "constructive",
        "hash_set",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3049,
      "problem_letter": "N",
      "problem_id": 24651,
      "problem_name": "New White-Black Tree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "constructive",
        "greedy",
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "greedy",
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "A",
      "problem_id": 23375,
      "problem_name": "Arm Coordination",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "B",
      "problem_id": 23376,
      "problem_name": "BnPC",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "C",
      "problem_id": 23377,
      "problem_name": "Cangaroo",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "D",
      "problem_id": 23378,
      "problem_name": "Decelerating Jump",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "E",
      "problem_id": 24734,
      "problem_name": "Eerie Shadows",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3057,
      "problem_letter": "F",
      "problem_id": 23380,
      "problem_name": "Fair Play",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "G",
      "problem_id": 24735,
      "problem_name": "Getting Square",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3057,
      "problem_letter": "H",
      "problem_id": 23382,
      "problem_name": "Hamiltooonian Hike",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "tree"
      ],
      "tag_keys": [
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "trees"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "I",
      "problem_id": 23383,
      "problem_name": "Implementation Irregularities",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "J",
      "problem_id": 23384,
      "problem_name": "Jail or Joyride",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "directed acyclic graph",
        "floyd–warshall",
        "graph theory",
        "graph traversal",
        "implementation",
        "shortest path",
        "topological sorting"
      ],
      "tag_keys": [
        "dag",
        "floyd_warshall",
        "graphs",
        "graph_traversal",
        "implementation",
        "shortest_path",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "K",
      "problem_id": 23385,
      "problem_name": "Kinking Cables",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "case work",
        "constructive",
        "geometry"
      ],
      "tag_keys": [
        "case_work",
        "constructive",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3057,
      "problem_letter": "L",
      "problem_id": 23386,
      "problem_name": "Lopsided Lineup",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "A",
      "problem_id": 24736,
      "problem_name": "Football Scoring",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "B",
      "problem_id": 24737,
      "problem_name": "Tri-Color Puzzle",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "C",
      "problem_id": 24738,
      "problem_name": "Checker Slide",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3059,
      "problem_letter": "D",
      "problem_id": 24739,
      "problem_name": "Sequinary Numerals",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "arithmetic",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "arithmetic",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "E",
      "problem_id": 24740,
      "problem_name": "How Many Unicycles in a Broken Wheel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3059,
      "problem_letter": "F",
      "problem_id": 24741,
      "problem_name": "Spider-Fly",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3059,
      "problem_letter": "G",
      "problem_id": 24742,
      "problem_name": "Simple Collatz Sequence",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "H",
      "problem_id": 24743,
      "problem_name": "CIDR",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "I",
      "problem_id": 24744,
      "problem_name": "Three Spheres and a Tetrahedron",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "J",
      "problem_id": 24745,
      "problem_name": "Morse Code Palindromes",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "K",
      "problem_id": 24746,
      "problem_name": "Pooling PCR Tests",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "L",
      "problem_id": 24747,
      "problem_name": "Letterle",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "M",
      "problem_id": 24748,
      "problem_name": "7 Segments You Say?",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "precomputation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "precomputation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3059,
      "problem_letter": "N",
      "problem_id": 24749,
      "problem_name": "Neighbors",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3059,
      "problem_letter": "O",
      "problem_id": 24750,
      "problem_name": "Transporting Spaghetti",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "A",
      "problem_id": 24751,
      "problem_name": "Betting",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "B",
      "problem_id": 24752,
      "problem_name": "Antialiasing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3061,
      "problem_letter": "C",
      "problem_id": 24753,
      "problem_name": "Social Distancing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "D",
      "problem_id": 24754,
      "problem_name": "Pawn Shop",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "E",
      "problem_id": 24755,
      "problem_name": "Election Paradox",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "F",
      "problem_id": 24756,
      "problem_name": "Protect the Pollen!",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "knapsack",
        "recursion",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "knapsack",
        "recursion",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "G",
      "problem_id": 24757,
      "problem_name": "Loot Chest",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "H",
      "problem_id": 24758,
      "problem_name": "RSA Mistake",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "set / map",
        "set / map by hashing",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "set",
        "hash_set",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "I",
      "problem_id": 24759,
      "problem_name": "Slide Count",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation",
        "prefix sum",
        "two-pointer",
        "sliding window"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "prefix_sum",
        "two_pointer",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "J",
      "problem_id": 24760,
      "problem_name": "Snowball Fight",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "case work",
        "mathematics"
      ],
      "tag_keys": [
        "case_work",
        "math"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "K",
      "problem_id": 24761,
      "problem_name": "Team Change",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "ad-hoc",
        "maximum flow",
        "bipartite graph",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "flow",
        "bipartite_graph",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "L",
      "problem_id": 24762,
      "problem_name": "Ticket Completed?",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "combinatorics",
        "breadth-first search",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "combinatorics",
        "bfs",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "M",
      "problem_id": 24763,
      "problem_name": "Trade Routes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "smaller to larger technique",
        "tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "smaller_to_larger",
        "trees",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3061,
      "problem_letter": "N",
      "problem_id": 24764,
      "problem_name": "Wordle with Friends",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "A",
      "problem_id": 24957,
      "problem_name": "Loop of Chocolate",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "B",
      "problem_id": 24958,
      "problem_name": "Lottery Fun Time",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "C",
      "problem_id": 24959,
      "problem_name": "Reversible Compression",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "D",
      "problem_id": 24960,
      "problem_name": "Wireless Communication Network",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "tree",
        "dynamic programming on trees",
        "stack",
        "cartesian tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "trees",
        "dp_tree",
        "stack",
        "cartesian_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "cartesian_tree",
          "name": "cartesian tree",
          "boj_tag_id": 206
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "E",
      "problem_id": 24961,
      "problem_name": "Planning Railroad Discontinuation",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "F",
      "problem_id": 24962,
      "problem_name": "It’s Surely Complex",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "fast fourier transform",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "fft",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "G",
      "problem_id": 24963,
      "problem_name": "Genealogy of Puppets",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "H",
      "problem_id": 24964,
      "problem_name": "Cancer DNA",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "inclusion and exclusion",
        "randomization"
      ],
      "tag_keys": [
        "inclusion_and_exclusion",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "I",
      "problem_id": 24965,
      "problem_name": "“Even” Division",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "constructive",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "prefix sum"
      ],
      "tag_keys": [
        "constructive",
        "dfs",
        "graphs",
        "graph_traversal",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "J",
      "problem_id": 24966,
      "problem_name": "The Cross Covers Everything",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "binary search",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "binary_search",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3082,
      "problem_letter": "K",
      "problem_id": 24967,
      "problem_name": "Distributing the Treasure",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3088,
      "problem_letter": "A",
      "problem_id": 24983,
      "problem_name": "Ancient Towers",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "sorting",
        "geometry",
        "segment tree",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "geometry",
        "segtree",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "B",
      "problem_id": 24984,
      "problem_name": "Because, Art!",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "greedy",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "C",
      "problem_id": 24985,
      "problem_name": "Cyclists versus Clouds",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "geometry",
        "breadth-first search",
        "shortest path"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "geometry",
        "bfs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "D",
      "problem_id": 24986,
      "problem_name": "Daily Turnovers",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree with lazy propagation",
        "prefix sum",
        "segment tree",
        "sparse table",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "lazyprop",
        "prefix_sum",
        "segtree",
        "sparse_table",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "E",
      "problem_id": 24987,
      "problem_name": "Expedition Plans",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "data structures",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "F",
      "problem_id": 24988,
      "problem_name": "Fields Division",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "G",
      "problem_id": 24989,
      "problem_name": "Generator Tree",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "set / map",
        "dynamic programming on trees",
        "centroid",
        "tree isomorphism"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "set",
        "dp_tree",
        "centroid",
        "tree_isomorphism"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "tree_isomorphism",
          "name": "tree isomorphism",
          "boj_tag_id": 145
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "H",
      "problem_id": 24990,
      "problem_name": "Hamilton - The Musical",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "hungarian"
      ],
      "tag_keys": [
        "hungarian"
      ],
      "tag_details": [
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "I",
      "problem_id": 24991,
      "problem_name": "Invested Money",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "J",
      "problem_id": 24992,
      "problem_name": "Joining Pairs",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "K",
      "problem_id": 24993,
      "problem_name": "KIARA is a Recursive Acronym",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "L",
      "problem_id": 24994,
      "problem_name": "Leaving Yharnam",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "combinatorics",
        "case work",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "combinatorics",
        "case_work",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 3088,
      "problem_letter": "M",
      "problem_id": 24995,
      "problem_name": "Most Ordered Way",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "A",
      "problem_id": 24996,
      "problem_name": "Album of Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3089,
      "problem_letter": "B",
      "problem_id": 24997,
      "problem_name": "Well Off",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "C",
      "problem_id": 24998,
      "problem_name": "Accurate Shots (8Mb TL!)",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3089,
      "problem_letter": "D",
      "problem_id": 24999,
      "problem_name": "Prom",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "E",
      "problem_id": 25000,
      "problem_name": "Impressive Graphs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3089,
      "problem_letter": "F",
      "problem_id": 25001,
      "problem_name": "Pen",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "G",
      "problem_id": 25002,
      "problem_name": "Board Game",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "convex hull",
        "divide and conquer",
        "geometry",
        "rotating calipers",
        "smaller to larger technique",
        "two-pointer"
      ],
      "tag_keys": [
        "convex_hull",
        "divide_and_conquer",
        "geometry",
        "rotating_calipers",
        "smaller_to_larger",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "H",
      "problem_id": 25003,
      "problem_name": "Scouts",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "I",
      "problem_id": 25004,
      "problem_name": "Insects",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "J",
      "problem_id": 25005,
      "problem_name": "Caves",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3089,
      "problem_letter": "K",
      "problem_id": 25006,
      "problem_name": "Blocks",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3089,
      "problem_letter": "L",
      "problem_id": 25007,
      "problem_name": "Postman",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "A",
      "problem_id": 25053,
      "problem_name": "Organizing SWERC",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "B",
      "problem_id": 25054,
      "problem_name": "Drone Photo",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "C",
      "problem_id": 25055,
      "problem_name": "Il Derby della Madonnina",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "D",
      "problem_id": 25056,
      "problem_name": "Ice Cream Shop",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "binary search",
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "E",
      "problem_id": 25057,
      "problem_name": "Evolution of Weasels",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "F",
      "problem_id": 25058,
      "problem_name": "Bottle Arrangements",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "G",
      "problem_id": 25059,
      "problem_name": "Round Table",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "greedy",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "H",
      "problem_id": 25060,
      "problem_name": "Pandemic Restrictions",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "I",
      "problem_id": 25061,
      "problem_name": "Antennas",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "breadth-first search",
        "data structures",
        "graph theory",
        "graph traversal",
        "segment tree"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "graphs",
        "graph_traversal",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "J",
      "problem_id": 25062,
      "problem_name": "Boundary",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "number theory",
        "case work",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "case_work",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "K",
      "problem_id": 25063,
      "problem_name": "Gastronomic Event",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bit set",
        "centroid",
        "knapsack",
        "tree"
      ],
      "tag_keys": [
        "bitset",
        "centroid",
        "knapsack",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3100,
      "problem_letter": "L",
      "problem_id": 25064,
      "problem_name": "Circular Maze",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "A",
      "problem_id": 25102,
      "problem_name": "Airline",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "tree",
        "prefix sum",
        "dynamic programming on trees",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "trees",
        "prefix_sum",
        "dp_tree",
        "lca"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "B",
      "problem_id": 25103,
      "problem_name": "Building on the Moon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3108,
      "problem_letter": "C",
      "problem_id": 25104,
      "problem_name": "Cactus cutting",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "biconnected component",
        "cactus",
        "divide and conquer",
        "dynamic programming",
        "fast fourier transform",
        "graph theory",
        "mathematics"
      ],
      "tag_keys": [
        "bcc",
        "cactus",
        "divide_and_conquer",
        "dp",
        "fft",
        "graphs",
        "math"
      ],
      "tag_details": [
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "D",
      "problem_id": 25105,
      "problem_name": "DJ Darko",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "set / map by trees",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "tree_set",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "E",
      "problem_id": 25106,
      "problem_name": "Fishing",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "F",
      "problem_id": 25107,
      "problem_name": "Letters",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "G",
      "problem_id": 25108,
      "problem_name": "Lines in a grid",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "prefix sum",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "prefix_sum",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "H",
      "problem_id": 25109,
      "problem_name": "Radar",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3108,
      "problem_letter": "I",
      "problem_id": 25110,
      "problem_name": "Regional development",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "J",
      "problem_id": 25111,
      "problem_name": "Repetitions",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "divide and conquer",
        "string",
        "suffix array and lcp array",
        "z"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "string",
        "suffix_array",
        "z"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "K",
      "problem_id": 25112,
      "problem_name": "Single-track railway",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "L",
      "problem_id": 25113,
      "problem_name": "Systematic salesman",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "X",
      "problem_id": 25099,
      "problem_name": "Anagram",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "string",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "Y",
      "problem_id": 25100,
      "problem_name": "E(length(CH))",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "linearity of expectation",
        "mathematics",
        "probability theory",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "geometry",
        "linearity_of_expectation",
        "math",
        "probability",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3108,
      "problem_letter": "Z",
      "problem_id": 25101,
      "problem_name": "Robin Hood",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "A",
      "problem_id": 25127,
      "problem_name": "Aromatična avantura",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "B",
      "problem_id": 25128,
      "problem_name": "Bratski brojevi",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "combinatorics",
        "inclusion and exclusion",
        "mathematics",
        "möbius inversion",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "combinatorics",
        "inclusion_and_exclusion",
        "math",
        "mobius_inversion",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "C",
      "problem_id": 25129,
      "problem_name": "Cjelobrojne crte",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3111,
      "problem_letter": "D",
      "problem_id": 25130,
      "problem_name": "Drvene daščice",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3111,
      "problem_letter": "E",
      "problem_id": 25131,
      "problem_name": "Ekscentrična enkripcija",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "F",
      "problem_id": 25132,
      "problem_name": "Fleksibilan fikus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3111,
      "problem_letter": "G",
      "problem_id": 25133,
      "problem_name": "Grozne granice",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "tree",
        "heavy-light decomposition",
        "link/cut tree"
      ],
      "tag_keys": [
        "trees",
        "hld",
        "link_cut_tree"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        },
        {
          "key": "link_cut_tree",
          "name": "link/cut tree",
          "boj_tag_id": 98
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "H",
      "problem_id": 25134,
      "problem_name": "Hrskave hrstule",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "simulation",
        "priority queue",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "simulation",
        "priority_queue",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "I",
      "problem_id": 25135,
      "problem_name": "Idilična ivica",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3111,
      "problem_letter": "J",
      "problem_id": 25136,
      "problem_name": "Još jači",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "A",
      "problem_id": 25225,
      "problem_name": "Contact Tracing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "B",
      "problem_id": 25226,
      "problem_name": "Cookie Cutter",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "sweeping",
        "ternary search",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "sweeping",
        "ternary_search",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "C",
      "problem_id": 25227,
      "problem_name": "Cram",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "string",
        "segment tree",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "string",
        "segtree",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "D",
      "problem_id": 25228,
      "problem_name": "Double Sort",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "E",
      "problem_id": 25229,
      "problem_name": "GCD Harmony",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "number theory",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "number_theory",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "F",
      "problem_id": 25230,
      "problem_name": "Leaderboard Effect",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "G",
      "problem_id": 25231,
      "problem_name": "Rafting Trip",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "tree",
        "functional graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "trees",
        "functional_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "H",
      "problem_id": 25232,
      "problem_name": "Ranked Choice Spoiling",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "greedy",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "I",
      "problem_id": 25233,
      "problem_name": "Reset",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "J",
      "problem_id": 25234,
      "problem_name": "Tic Tac Toe Counting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "dynamic programming",
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "backtracking",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "data_structures",
        "bruteforcing",
        "set",
        "hash_set",
        "backtracking",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "K",
      "problem_id": 25235,
      "problem_name": "Transparency",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "graph theory",
        "case work",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "case_work",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "L",
      "problem_id": 25236,
      "problem_name": "Triangular Logs",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "sorting",
        "ad-hoc",
        "segment tree",
        "sweeping",
        "square root decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "ad_hoc",
        "segtree",
        "sweeping",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 3126,
      "problem_letter": "M",
      "problem_id": 25237,
      "problem_name": "Word Ladder",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "string",
        "ad-hoc",
        "set / map",
        "constructive",
        "set / map by hashing",
        "precomputation",
        "randomization"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "ad_hoc",
        "set",
        "constructive",
        "hash_set",
        "precomputation",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "A",
      "problem_id": 25245,
      "problem_name": "Amusement Arcade",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "B",
      "problem_id": 25246,
      "problem_name": "Brexiting and Brentering",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "C",
      "problem_id": 25247,
      "problem_name": "Card Trading",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "D",
      "problem_id": 25248,
      "problem_name": "Decrypting Zodiac",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "string",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "string",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "E",
      "problem_id": 25249,
      "problem_name": "Excursion to Porvoo",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "sorting",
        "priority queue",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "priority_queue",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "F",
      "problem_id": 25250,
      "problem_name": "Flappy Bird",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "convex hull",
        "data structures",
        "deque",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "data_structures",
        "deque",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "G",
      "problem_id": 25251,
      "problem_name": "Grid Delivery",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "H",
      "problem_id": 25252,
      "problem_name": "Hectic Harbour II",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "ad-hoc",
        "linked list"
      ],
      "tag_keys": [
        "data_structures",
        "ad_hoc",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "I",
      "problem_id": 25253,
      "problem_name": "Index Case",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "J",
      "problem_id": 25254,
      "problem_name": "Joined Sessions",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "K",
      "problem_id": 25255,
      "problem_name": "Killjoys' Conference",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "combinatorics",
        "depth-first search",
        "bipartite graph"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "combinatorics",
        "dfs",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "L",
      "problem_id": 25256,
      "problem_name": "Looking for Waldo",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "M",
      "problem_id": 25257,
      "problem_name": "Monty's Hall",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3127,
      "problem_letter": "N",
      "problem_id": 25258,
      "problem_name": "Natural Navigation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "A",
      "problem_id": 25355,
      "problem_name": "Admissible Map",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc",
        "dynamic programming",
        "functional graph",
        "graph theory",
        "hashing"
      ],
      "tag_keys": [
        "ad_hoc",
        "dp",
        "functional_graph",
        "graphs",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "B",
      "problem_id": 25356,
      "problem_name": "Budget Distribution",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "sweeping",
        "calculus",
        "slope trick"
      ],
      "tag_keys": [
        "math",
        "sweeping",
        "calculus",
        "slope_trick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "slope_trick",
          "name": "slope trick",
          "boj_tag_id": 157
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "C",
      "problem_id": 25357,
      "problem_name": "Connect the Points",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "D",
      "problem_id": 25358,
      "problem_name": "Deletive Editing",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "E",
      "problem_id": 25359,
      "problem_name": "Even Split",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search",
        "dynamic programming",
        "greedy",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "dp",
        "greedy",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "F",
      "problem_id": 25360,
      "problem_name": "Fancy Stack",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "G",
      "problem_id": 25361,
      "problem_name": "Global Warming",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "geometry",
        "sweeping",
        "disjoint set",
        "offline queries",
        "geometry; 3d"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "sweeping",
        "disjoint_set",
        "offline_queries",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "H",
      "problem_id": 25362,
      "problem_name": "Heroes of Might",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "convex hull",
        "square root decomposition",
        "sum of floor of rational arithmetic sequence"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "convex_hull",
        "sqrt_decomposition",
        "floor_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        },
        {
          "key": "floor_sum",
          "name": "sum of floor of rational arithmetic sequence",
          "boj_tag_id": 218
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "I",
      "problem_id": 25363,
      "problem_name": "Interactive Treasure Hunt",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "J",
      "problem_id": 25364,
      "problem_name": "Job Lookup",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "K",
      "problem_id": 25365,
      "problem_name": "Kingdom Partition",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 3141,
      "problem_letter": "L",
      "problem_id": 25366,
      "problem_name": "Labyrinth",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "A",
      "problem_id": 25527,
      "problem_name": "Counting Peaks of Infection",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "B",
      "problem_id": 25528,
      "problem_name": "Leave No One Behind",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "C",
      "problem_id": 25529,
      "problem_name": "Training Schedule for ICPC",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "D",
      "problem_id": 25530,
      "problem_name": "Audience Queue",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "prefix sum",
        "combinatorics",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "prefix_sum",
        "combinatorics",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "E",
      "problem_id": 25531,
      "problem_name": "Village of Lore",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "case work",
        "circulation",
        "constructive",
        "maximum flow",
        "implementation",
        "graph theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work",
        "circulation",
        "constructive",
        "flow",
        "implementation",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "F",
      "problem_id": 25532,
      "problem_name": "Trim It Step by Step",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "greedy",
        "parsing",
        "string",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "greedy",
        "parsing",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3177,
      "problem_letter": "G",
      "problem_id": 25533,
      "problem_name": "Keep in Touch",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3177,
      "problem_letter": "H",
      "problem_id": 25534,
      "problem_name": "Artist in Agony",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3217,
      "problem_letter": "A",
      "problem_id": 25943,
      "problem_name": "양팔저울",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "B",
      "problem_id": 25944,
      "problem_name": "Bar Magnet",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "C",
      "problem_id": 25945,
      "problem_name": "컨테이너 재배치",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "D",
      "problem_id": 25946,
      "problem_name": "Flags",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "E",
      "problem_id": 25947,
      "problem_name": "선물할인",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "F",
      "problem_id": 25948,
      "problem_name": "Islands Tour",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "G",
      "problem_id": 25949,
      "problem_name": "Jar Game",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "H",
      "problem_id": 25950,
      "problem_name": "Longest Shortest Paths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3217,
      "problem_letter": "I",
      "problem_id": 25951,
      "problem_name": "Magic Potion",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc",
        "binary search",
        "string"
      ],
      "tag_keys": [
        "ad_hoc",
        "binary_search",
        "string"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "J",
      "problem_id": 25952,
      "problem_name": "Rectangles",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "square root decomposition"
      ],
      "tag_keys": [
        "geometry",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 3217,
      "problem_letter": "K",
      "problem_id": 25953,
      "problem_name": "템포럴 그래프",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "A",
      "problem_id": 25980,
      "problem_name": "Abbreviated Aliases",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "B",
      "problem_id": 25981,
      "problem_name": "Bubble-bubble Sort",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "C",
      "problem_id": 25982,
      "problem_name": "Cookbook Composition",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "data structures",
        "graph theory",
        "set / map",
        "set / map by hashing",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "graphs",
        "set",
        "hash_set",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "D",
      "problem_id": 25983,
      "problem_name": "Dimensional Debugging",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "breadth-first search",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "E",
      "problem_id": 25984,
      "problem_name": "Extended Braille",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "set / map by hashing",
        "sorting",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "sorting",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "F",
      "problem_id": 25985,
      "problem_name": "Fastestest Function",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "G",
      "problem_id": 25986,
      "problem_name": "Guessing Primes",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "number theory",
        "simulation",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "number_theory",
        "simulation",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "H",
      "problem_id": 25987,
      "problem_name": "Heavy Hauling",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "calculus",
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "I",
      "problem_id": 25988,
      "problem_name": "Inked Inscriptions",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "constructive",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "constructive",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "J",
      "problem_id": 25989,
      "problem_name": "Jabbing Jets",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "K",
      "problem_id": 25990,
      "problem_name": "Knitting Patterns",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3221,
      "problem_letter": "L",
      "problem_id": 25991,
      "problem_name": "Lots of Liquid",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "A",
      "problem_id": 25992,
      "problem_name": "Adjusted Average",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "bruteforcing",
        "binary search",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "binary_search",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "B",
      "problem_id": 25993,
      "problem_name": "Bellevue",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "C",
      "problem_id": 25994,
      "problem_name": "Crashing Competition Computer",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "D",
      "problem_id": 25995,
      "problem_name": "Dividing DNA",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "E",
      "problem_id": 25996,
      "problem_name": "Equalising Audio",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "F",
      "problem_id": 25997,
      "problem_name": "Failing Flagship",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "G",
      "problem_id": 25998,
      "problem_name": "Grinding Gravel",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "H",
      "problem_id": 25999,
      "problem_name": "House Numbering",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "I",
      "problem_id": 26000,
      "problem_name": "Imperfect Imperial Units",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "data structures",
        "string",
        "graph traversal",
        "set / map",
        "depth-first search",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "string",
        "graph_traversal",
        "set",
        "dfs",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "J",
      "problem_id": 26001,
      "problem_name": "Jagged Skyline",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "randomization"
      ],
      "tag_keys": [
        "binary_search",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "K",
      "problem_id": 26002,
      "problem_name": "Kiosk Construction",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3222,
      "problem_letter": "L",
      "problem_id": 26003,
      "problem_name": "Lowest Latency",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "A",
      "problem_id": 26011,
      "problem_name": "Alternative Architecture",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "B",
      "problem_id": 26012,
      "problem_name": "Breeding Bugs",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes",
        "bipartite matching"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "C",
      "problem_id": 26013,
      "problem_name": "Chaotic Construction",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "segment tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "D",
      "problem_id": 26014,
      "problem_name": "Diabolic Doofenshmirtz",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "E",
      "problem_id": 26015,
      "problem_name": "Enjoyable Entree",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "F",
      "problem_id": 26016,
      "problem_name": "Formula Flatland",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "graph theory",
        "square root decomposition",
        "planar graph"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "sqrt_decomposition",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "G",
      "problem_id": 26017,
      "problem_name": "Guessing Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "H",
      "problem_id": 26018,
      "problem_name": "Hardcore Hangman",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "bitmask"
      ],
      "tag_keys": [
        "ad_hoc",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "I",
      "problem_id": 26019,
      "problem_name": "Improving IT",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "J",
      "problem_id": 26020,
      "problem_name": "Jesting Jabberwocky",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "longest common subsequence"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "lcs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "lcs",
          "name": "longest common subsequence",
          "boj_tag_id": 219
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "K",
      "problem_id": 26021,
      "problem_name": "K.O. Kids",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "L",
      "problem_id": 26022,
      "problem_name": "Lots of Land",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3223,
      "problem_letter": "M",
      "problem_id": 26023,
      "problem_name": "Mirror Madness",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "geometry",
        "binary search",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "binary_search",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "A",
      "problem_id": 26024,
      "problem_name": "Ace Arbiter",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "B",
      "problem_id": 26025,
      "problem_name": "Berry Battle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "tree",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "trees",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "C",
      "problem_id": 26026,
      "problem_name": "Coffee Cup Combo",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "D",
      "problem_id": 26027,
      "problem_name": "Disc District",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "ad-hoc",
        "geometry"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "E",
      "problem_id": 26028,
      "problem_name": "Enigmatic Enumeration",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "F",
      "problem_id": 26029,
      "problem_name": "Foreign Football",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "knuth–morris–pratt",
        "string"
      ],
      "tag_keys": [
        "kmp",
        "string"
      ],
      "tag_details": [
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "G",
      "problem_id": 26030,
      "problem_name": "Graduation Guarantee",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "dynamic programming",
        "greedy",
        "sorting",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "greedy",
        "sorting",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "H",
      "problem_id": 26031,
      "problem_name": "Highest Hill",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "I",
      "problem_id": 26032,
      "problem_name": "Icy Itinerary",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "data structures",
        "ad-hoc",
        "constructive",
        "linked list"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "ad_hoc",
        "constructive",
        "linked_list"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "J",
      "problem_id": 26033,
      "problem_name": "Junk Journey",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3224,
      "problem_letter": "K",
      "problem_id": 26034,
      "problem_name": "Keyboard Queries",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "string",
        "segment tree",
        "binary search",
        "disjoint set",
        "hashing",
        "smaller to larger technique",
        "rabin–karp"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "segtree",
        "binary_search",
        "disjoint_set",
        "hashing",
        "smaller_to_larger",
        "rabin_karp"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "A",
      "problem_id": 26044,
      "problem_name": "Array",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "data structures",
        "set / map",
        "combinatorics",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "set",
        "combinatorics",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "C",
      "problem_id": 26045,
      "problem_name": "Canoes",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "2-sat",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "E",
      "problem_id": 26046,
      "problem_name": "Earthquake",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "precomputation",
        "sorting",
        "string",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hash_set",
        "precomputation",
        "sorting",
        "string",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "J",
      "problem_id": 26047,
      "problem_name": "Journals",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "M",
      "problem_id": 26048,
      "problem_name": "Mower",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "N",
      "problem_id": 26049,
      "problem_name": "Needle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3225,
      "problem_letter": "P",
      "problem_id": 26050,
      "problem_name": "Patio",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "R",
      "problem_id": 26051,
      "problem_name": "Robots",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "game theory",
        "parity",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "game_theory",
        "parity",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "S",
      "problem_id": 26052,
      "problem_name": "Shamans",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "articulation points and bridges",
        "biconnected component",
        "graph theory",
        "graph traversal",
        "greedy"
      ],
      "tag_keys": [
        "articulation",
        "bcc",
        "graphs",
        "graph_traversal",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "T",
      "problem_id": 26053,
      "problem_name": "Transmitter",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "string",
        "tree",
        "two-pointer",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "two_pointer",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "V",
      "problem_id": 26054,
      "problem_name": "Volcanoes",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "value / coordinate compression",
        "dynamic programming",
        "greedy",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "coordinate_compression",
        "dp",
        "greedy",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3225,
      "problem_letter": "W",
      "problem_id": 26055,
      "problem_name": "Wagon",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "A",
      "problem_id": 26057,
      "problem_name": "Большой удой",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "B",
      "problem_id": 26058,
      "problem_name": "Сделай 100",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "C",
      "problem_id": 26059,
      "problem_name": "Вендомат",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "D",
      "problem_id": 26060,
      "problem_name": "На планете Иворил...",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "E",
      "problem_id": 26061,
      "problem_name": "История версий",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "F",
      "problem_id": 26062,
      "problem_name": "Туристы, достопримечательности и телескопы",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "binary search",
        "prefix sum"
      ],
      "tag_keys": [
        "binary_search",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "G",
      "problem_id": 26063,
      "problem_name": "Сапёр 1D",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "H",
      "problem_id": 26064,
      "problem_name": "Матч тысячелетия",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "euclidean algorithm",
        "mathematics",
        "number theory",
        "ternary search"
      ],
      "tag_keys": [
        "euclidean",
        "math",
        "number_theory",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 3226,
      "problem_letter": "I",
      "problem_id": 26065,
      "problem_name": "Кусочно-линейные функции",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3226,
      "problem_letter": "J",
      "problem_id": 26066,
      "problem_name": "Мой дед",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3226,
      "problem_letter": "K",
      "problem_id": 26067,
      "problem_name": "Старобарский рэп",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3227,
      "problem_letter": "A",
      "problem_id": 26102,
      "problem_name": "Card Game",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "dynamic programming",
        "game theory",
        "parity",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "game_theory",
        "parity",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "B",
      "problem_id": 26103,
      "problem_name": "Castle Design",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc",
        "dynamic programming"
      ],
      "tag_keys": [
        "ad_hoc",
        "dp"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "C",
      "problem_id": 26104,
      "problem_name": "Empty Quadrilaterals",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "sorting",
        "geometry",
        "two-pointer",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "two_pointer",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "D",
      "problem_id": 26105,
      "problem_name": "Folding Stick",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "data structures",
        "prefix sum",
        "priority queue"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "prefix_sum",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "E",
      "problem_id": 26106,
      "problem_name": "Forbidden Turns",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "graph theory",
        "set / map",
        "shortest path",
        "set / map by hashing",
        "dijkstra's",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "set",
        "shortest_path",
        "hash_set",
        "dijkstra",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "F",
      "problem_id": 26107,
      "problem_name": "Frog Jump",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "G",
      "problem_id": 26108,
      "problem_name": "Linear Regression",
      "problem_difficulty": "Ruby I",
      "difficulty_level": 30,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "sorting",
        "ad-hoc",
        "geometry",
        "case work",
        "two-pointer",
        "stack",
        "convex hull",
        "line segment intersection check",
        "rotating calipers",
        "duality",
        "bulldozer trick"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "sorting",
        "ad_hoc",
        "geometry",
        "case_work",
        "two_pointer",
        "stack",
        "convex_hull",
        "line_intersection",
        "rotating_calipers",
        "duality",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        },
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "H",
      "problem_id": 26109,
      "problem_name": "Longest Substring",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "greedy",
        "string",
        "tree",
        "binary search",
        "set / map",
        "smaller to larger technique",
        "trie",
        "suffix tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "string",
        "trees",
        "binary_search",
        "set",
        "smaller_to_larger",
        "trie",
        "suffix_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "suffix_tree",
          "name": "suffix tree",
          "boj_tag_id": 182
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "I",
      "problem_id": 26110,
      "problem_name": "Palindrome Type",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "string",
        "recursion"
      ],
      "tag_keys": [
        "string",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "J",
      "problem_id": 26111,
      "problem_name": "Parentheses Tree",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "K",
      "problem_id": 26112,
      "problem_name": "Shuffle Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "longest common subsequence"
      ],
      "tag_keys": [
        "dp",
        "lcs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "lcs",
          "name": "longest common subsequence",
          "boj_tag_id": 219
        }
      ]
    },
    {
      "contest_id": 3227,
      "problem_letter": "L",
      "problem_id": 26113,
      "problem_name": "Two Choreographies",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "constructive",
        "depth-first search",
        "lowest common ancestor",
        "traceback",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "constructive",
        "dfs",
        "lca",
        "traceback",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "A",
      "problem_id": 26130,
      "problem_name": "Crystal Crosswind",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "B",
      "problem_id": 26131,
      "problem_name": "Dungeon Crawler",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "lowest common ancestor",
        "sparse table",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "lca",
        "sparse_table",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "C",
      "problem_id": 26132,
      "problem_name": "Fair Division",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "D",
      "problem_id": 26133,
      "problem_name": "Guardians of the Gallery",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "dijkstra's",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "dijkstra",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "E",
      "problem_id": 26134,
      "problem_name": "Hand of the Free Marked",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "graph theory",
        "bruteforcing",
        "combinatorics",
        "backtracking",
        "probability theory",
        "hall's theorem"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "bruteforcing",
        "combinatorics",
        "backtracking",
        "probability",
        "hall"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "F",
      "problem_id": 26135,
      "problem_name": "Islands from the Sky",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "binary search",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "G",
      "problem_id": 26136,
      "problem_name": "Mosaic Browsing",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "H",
      "problem_id": 26137,
      "problem_name": "Prehistoric Programs",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "I",
      "problem_id": 26138,
      "problem_name": "Spider Walk",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "set / map",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "set",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "J",
      "problem_id": 26139,
      "problem_name": "Splitstream",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "K",
      "problem_id": 26140,
      "problem_name": "Take On Meme",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "dynamic programming",
        "geometry",
        "tree",
        "dynamic programming on trees",
        "divide and conquer",
        "convex hull"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "trees",
        "dp_tree",
        "divide_and_conquer",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 3230,
      "problem_letter": "L",
      "problem_id": 26141,
      "problem_name": "Where Am I?",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "A",
      "problem_id": 26174,
      "problem_name": "Alternating Algorithm",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "ad-hoc",
        "value / coordinate compression",
        "data structures",
        "segment tree with lazy propagation",
        "segment tree"
      ],
      "tag_keys": [
        "ad_hoc",
        "coordinate_compression",
        "data_structures",
        "lazyprop",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "B",
      "problem_id": 26175,
      "problem_name": "Bottle Flip",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "physics"
      ],
      "tag_keys": [
        "math",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "C",
      "problem_id": 26176,
      "problem_name": "Circular Caramel Cookie",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "D",
      "problem_id": 26177,
      "problem_name": "Delft Distance",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "graph theory"
      ],
      "tag_keys": [
        "dp",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "E",
      "problem_id": 26178,
      "problem_name": "ETA",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "F",
      "problem_id": 26179,
      "problem_name": "Faster Than Light",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "convex hull",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "G",
      "problem_id": 26180,
      "problem_name": "Going in Circles",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "bitmask",
        "randomization"
      ],
      "tag_keys": [
        "ad_hoc",
        "bitmask",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "H",
      "problem_id": 26181,
      "problem_name": "High-quality Tree",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "I",
      "problem_id": 26182,
      "problem_name": "Interview Question",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "J",
      "problem_id": 26183,
      "problem_name": "Justice Served",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "dynamic programming",
        "longest increasing sequence problem",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "lis",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "K",
      "problem_id": 26184,
      "problem_name": "Kebab Pizza",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "case work"
      ],
      "tag_keys": [
        "graphs",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "L",
      "problem_id": 26185,
      "problem_name": "Last Guess",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "maximum flow",
        "circulation"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "circulation"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "circulation",
          "name": "circulation",
          "boj_tag_id": 191
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "PA",
      "problem_id": 26171,
      "problem_name": "An Interactive Problem",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "PB",
      "problem_id": 26172,
      "problem_name": "Brothers in Arms",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "floyd–warshall",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "floyd_warshall",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3237,
      "problem_letter": "PC",
      "problem_id": 26173,
      "problem_name": "Cup Covering",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "A",
      "problem_id": 26186,
      "problem_name": "Bandits",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "centroid",
        "centroid decomposition",
        "data structures",
        "divide and conquer",
        "segment tree",
        "tree"
      ],
      "tag_keys": [
        "centroid",
        "centroid_decomposition",
        "data_structures",
        "divide_and_conquer",
        "segtree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "B",
      "problem_id": 26187,
      "problem_name": "Combination Locks",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "game theory",
        "bipartite matching"
      ],
      "tag_keys": [
        "game_theory",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "C",
      "problem_id": 26188,
      "problem_name": "Constellations",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "set / map",
        "simulation",
        "set / map by trees",
        "priority queue",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "set",
        "simulation",
        "tree_set",
        "priority_queue",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "D",
      "problem_id": 26189,
      "problem_name": "Deforestation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "E",
      "problem_id": 26190,
      "problem_name": "Denormalization",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "F",
      "problem_id": 26191,
      "problem_name": "Differences",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "randomization",
        "hashing"
      ],
      "tag_keys": [
        "randomization",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "G",
      "problem_id": 26192,
      "problem_name": "Greedy Drawers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "H",
      "problem_id": 26193,
      "problem_name": "Insertions",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bit set",
        "data structures",
        "dynamic programming",
        "dynamic programming on trees",
        "euler tour technique",
        "knuth–morris–pratt",
        "segment tree with lazy propagation",
        "segment tree",
        "string",
        "tree"
      ],
      "tag_keys": [
        "bitset",
        "data_structures",
        "dp",
        "dp_tree",
        "euler_tour_technique",
        "kmp",
        "lazyprop",
        "segtree",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "I",
      "problem_id": 26194,
      "problem_name": "Money Laundering",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "graph theory",
        "simulation",
        "directed acyclic graph",
        "linear algebra",
        "topological sorting",
        "strongly connected component",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "graphs",
        "simulation",
        "dag",
        "linear_algebra",
        "topological_sorting",
        "scc",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "J",
      "problem_id": 26195,
      "problem_name": "Mortgage",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "convex hull trick",
        "convex hull",
        "data structures",
        "geometry",
        "prefix sum",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "cht",
        "convex_hull",
        "data_structures",
        "geometry",
        "prefix_sum",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "K",
      "problem_id": 26196,
      "problem_name": "Skills in Pills",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "L",
      "problem_id": 26197,
      "problem_name": "The Game",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "X",
      "problem_id": 26198,
      "problem_name": "Chronogram",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "Y",
      "problem_id": 26199,
      "problem_name": "Permutations",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 3238,
      "problem_letter": "Z",
      "problem_id": 26200,
      "problem_name": "Sokoban",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "0-1 bfs",
        "breadth-first search",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "0_1_bfs",
        "bfs",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "A",
      "problem_id": 26201,
      "problem_name": "Finding Maximal Non-Trivial Monotones",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "B",
      "problem_id": 26202,
      "problem_name": "Fun with Stones",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "game theory",
        "divide and conquer",
        "probability theory",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "sprague–grundy theorem",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "game_theory",
        "divide_and_conquer",
        "probability",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "sprague_grundy",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "C",
      "problem_id": 26203,
      "problem_name": "Cutting with Lasers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "D",
      "problem_id": 26204,
      "problem_name": "Displacing Particles",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "E",
      "problem_id": 26205,
      "problem_name": "Eliminating Ballons",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "F",
      "problem_id": 26206,
      "problem_name": "Multidimensional Hangman",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "bruteforcing",
        "data structures",
        "set / map by hashing",
        "implementation",
        "set / map"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "hash_set",
        "implementation",
        "set"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "G",
      "problem_id": 26207,
      "problem_name": "Geometry of Triangles",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3253,
      "problem_letter": "H",
      "problem_id": 26208,
      "problem_name": "Helping the Transit",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "graph traversal",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "I",
      "problem_id": 26209,
      "problem_name": "Intercepting Information",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "J",
      "problem_id": 26210,
      "problem_name": "Playing 23",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "K",
      "problem_id": 26211,
      "problem_name": "Kalel, the Jumping Frog",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3253,
      "problem_letter": "L",
      "problem_id": 26212,
      "problem_name": "Listing Tedious Paths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "graph theory",
        "smaller to larger technique",
        "tree",
        "tree compression"
      ],
      "tag_keys": [
        "graphs",
        "smaller_to_larger",
        "trees",
        "tree_compression"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_compression",
          "name": "tree compression",
          "boj_tag_id": 193
        }
      ]
    },
    {
      "contest_id": 3253,
      "problem_letter": "M",
      "problem_id": 26213,
      "problem_name": "Hopscotch Marathon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3253,
      "problem_letter": "N",
      "problem_id": 26214,
      "problem_name": "Numbers on both Sides",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3261,
      "problem_letter": "A",
      "problem_id": 26281,
      "problem_name": "Amazing Trick",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive",
        "randomization"
      ],
      "tag_keys": [
        "constructive",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "B",
      "problem_id": 26282,
      "problem_name": "BinCoin",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "tree",
        "probability theory",
        "hashing",
        "randomization"
      ],
      "tag_keys": [
        "math",
        "trees",
        "probability",
        "hashing",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "C",
      "problem_id": 26283,
      "problem_name": "Cactus Meets Torus",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3261,
      "problem_letter": "D",
      "problem_id": 26284,
      "problem_name": "Dominoes",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "E",
      "problem_id": 26285,
      "problem_name": "Easy Assembly",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "set / map",
        "set / map by hashing",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "set",
        "hash_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "F",
      "problem_id": 26286,
      "problem_name": "Football",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "G",
      "problem_id": 26287,
      "problem_name": "Game of Questions",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "sum over subsets dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "dp_sum_over_subsets",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "H",
      "problem_id": 26288,
      "problem_name": "Hot and Cold",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "I",
      "problem_id": 26289,
      "problem_name": "Interactive Factorial Guessing",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "tree",
        "arbitrary precision / big integers",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "trees",
        "arbitrary_precision",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "J",
      "problem_id": 26290,
      "problem_name": "Jumbled Trees",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "constructive",
        "biconnected component"
      ],
      "tag_keys": [
        "graphs",
        "constructive",
        "bcc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "K",
      "problem_id": 26291,
      "problem_name": "King's Puzzle",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3261,
      "problem_letter": "L",
      "problem_id": 26292,
      "problem_name": "Lisa's Sequences",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3263,
      "problem_letter": "A",
      "problem_id": 26293,
      "problem_name": "Avangardni Autocorrect",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "breadth-first search",
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "bfs",
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "B",
      "problem_id": 26294,
      "problem_name": "Brutalna Birtija",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "C",
      "problem_id": 26295,
      "problem_name": "Cirkularni Cirkus",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "D",
      "problem_id": 26296,
      "problem_name": "Dihotomna Dioba",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "disjoint set",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "disjoint_set",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "E",
      "problem_id": 26297,
      "problem_name": "Egzotična Elegancija",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3263,
      "problem_letter": "F",
      "problem_id": 26298,
      "problem_name": "Famozni Faraon",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3263,
      "problem_letter": "G",
      "problem_id": 26299,
      "problem_name": "Glomazna Gužva",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "value / coordinate compression",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "coordinate_compression",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "H",
      "problem_id": 26300,
      "problem_name": "Hrabro Hvalisanje",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3263,
      "problem_letter": "I",
      "problem_id": 26301,
      "problem_name": "Inteligentna Igra",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "J",
      "problem_id": 26302,
      "problem_name": "Japanski Junak",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "K",
      "problem_id": 26303,
      "problem_name": "Komični Kvadrat",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "bitmask",
        "priority queue",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "bitmask",
        "priority_queue",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 3263,
      "problem_letter": "L",
      "problem_id": 26304,
      "problem_name": "Letargični Lumen",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3264,
      "problem_letter": "A",
      "problem_id": 26305,
      "problem_name": "AibohphobiA",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "directed acyclic graph",
        "dynamic programming",
        "graph theory",
        "strongly connected component",
        "topological sorting"
      ],
      "tag_keys": [
        "ad_hoc",
        "dag",
        "dp",
        "graphs",
        "scc",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "B",
      "problem_id": 26306,
      "problem_name": "Balanced Seesaw Array",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "C",
      "problem_id": 26307,
      "problem_name": "Correct",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "D",
      "problem_id": 26308,
      "problem_name": "Distance and Tree",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "ad-hoc",
        "segment tree",
        "constructive",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "ad_hoc",
        "segtree",
        "constructive",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "E",
      "problem_id": 26309,
      "problem_name": "Etched Emerald Orbs",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking",
        "primality test",
        "parity",
        "prime factorization",
        "pollard rho",
        "miller–rabin"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking",
        "primality_test",
        "parity",
        "prime_factorization",
        "pollard_rho",
        "miller_rabin"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "pollard_rho",
          "name": "pollard rho",
          "boj_tag_id": 58
        },
        {
          "key": "miller_rabin",
          "name": "miller–rabin",
          "boj_tag_id": 47
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "F",
      "problem_id": 26310,
      "problem_name": "Finalists",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "G",
      "problem_id": 26311,
      "problem_name": "Geekflix",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "H",
      "problem_id": 26312,
      "problem_name": "Heximal",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "binary search",
        "exponentiation by squaring",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "exponentiation_by_squaring",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 3264,
      "problem_letter": "I",
      "problem_id": 26313,
      "problem_name": "Invitation",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "combinatorics",
        "fast fourier transform",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "fft",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3288,
      "problem_letter": "A",
      "problem_id": 26440,
      "problem_name": "Where's Your Robot?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3288,
      "problem_letter": "B",
      "problem_id": 26441,
      "problem_name": "Unable Count",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3288,
      "problem_letter": "C",
      "problem_id": 26442,
      "problem_name": "Factorization of Quadratic Formula",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3288,
      "problem_letter": "D",
      "problem_id": 26443,
      "problem_name": "Spiral Footrace",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3288,
      "problem_letter": "E",
      "problem_id": 26444,
      "problem_name": "A Long Ride on a Railway",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3289,
      "problem_letter": "1",
      "problem_id": 26445,
      "problem_name": "Area of Polygons",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3289,
      "problem_letter": "2",
      "problem_id": 26446,
      "problem_name": "A Simple Offline Text Editor",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3289,
      "problem_letter": "3",
      "problem_id": 26447,
      "problem_name": "Calculation of Expressions",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3289,
      "problem_letter": "4",
      "problem_id": 26448,
      "problem_name": "Board Arrangements for Concentration Games",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3347,
      "problem_letter": "A",
      "problem_id": 26850,
      "problem_name": "XOR Pairs",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "B",
      "problem_id": 26851,
      "problem_name": "Bicycle Tour",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "segment tree",
        "disjoint set",
        "segment tree with lazy propagation",
        "minimum spanning tree",
        "lowest common ancestor",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "segtree",
        "disjoint_set",
        "lazyprop",
        "mst",
        "lca",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "C",
      "problem_id": 26852,
      "problem_name": "Energy Generation",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "D",
      "problem_id": 26853,
      "problem_name": "Uniform Maker",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "E",
      "problem_id": 26854,
      "problem_name": "Concerto de Pandemic",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "binary search",
        "data structures",
        "parametric search",
        "sparse table"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "parametric_search",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "F",
      "problem_id": 26855,
      "problem_name": "Not One",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "graph theory",
        "data structures",
        "graph traversal",
        "tree",
        "number theory",
        "depth-first search",
        "disjoint set",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "data_structures",
        "graph_traversal",
        "trees",
        "number_theory",
        "dfs",
        "disjoint_set",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "G",
      "problem_id": 26856,
      "problem_name": "Greedy Knapsack",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "H",
      "problem_id": 26857,
      "problem_name": "Cell Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive",
        "dynamic programming",
        "game theory",
        "knapsack"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "dp",
        "game_theory",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "I",
      "problem_id": 26858,
      "problem_name": "Stable Planetary System",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "divide and conquer",
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "J",
      "problem_id": 26859,
      "problem_name": "Feeder Robot",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3347,
      "problem_letter": "K",
      "problem_id": 26860,
      "problem_name": "White-Black Tree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "tree",
        "game theory",
        "parity",
        "finding invariants"
      ],
      "tag_keys": [
        "ad_hoc",
        "trees",
        "game_theory",
        "parity",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "L",
      "problem_id": 26861,
      "problem_name": "Happy Travelling",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree",
        "square root decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "M",
      "problem_id": 26862,
      "problem_name": "Maxdifficent Group",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "PA",
      "problem_id": 26849,
      "problem_name": "Non Classical Problem",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "PB",
      "problem_id": 19155,
      "problem_name": "Copying Homework",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "PC",
      "problem_id": 20690,
      "problem_name": "Exchange Bottleneck",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3347,
      "problem_letter": "PD",
      "problem_id": 20696,
      "problem_name": "Tree Beauty",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "segment tree",
        "depth-first search",
        "segment tree with lazy propagation",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "segtree",
        "dfs",
        "lazyprop",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "A",
      "problem_id": 26863,
      "problem_name": "Absolutely Flat",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "B",
      "problem_id": 26864,
      "problem_name": "Bricks in the Wall",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "C",
      "problem_id": 26865,
      "problem_name": "Computer Network",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "D",
      "problem_id": 26866,
      "problem_name": "Dice Grid",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "E",
      "problem_id": 26867,
      "problem_name": "Easily Distinguishable Triangles",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "F",
      "problem_id": 26868,
      "problem_name": "Focusing on Costs",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "G",
      "problem_id": 26869,
      "problem_name": "Greatest Common Divisor",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "precomputation"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "H",
      "problem_id": 26870,
      "problem_name": "Hidden Digits",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "breadth-first search",
        "constructive",
        "graph theory",
        "graph traversal",
        "recursion"
      ],
      "tag_keys": [
        "bfs",
        "constructive",
        "graphs",
        "graph_traversal",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "I",
      "problem_id": 26871,
      "problem_name": "IQ Game",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "J",
      "problem_id": 26872,
      "problem_name": "Joking?",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive",
        "precomputation",
        "heuristics"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "precomputation",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "K",
      "problem_id": 26873,
      "problem_name": "K-Shaped Figures",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "bruteforcing",
        "sorting",
        "geometry",
        "combinatorics",
        "angle sorting"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "sorting",
        "geometry",
        "combinatorics",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "L",
      "problem_id": 26874,
      "problem_name": "Limited Swaps",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "M",
      "problem_id": 26875,
      "problem_name": "Mex and Cards",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 3348,
      "problem_letter": "N",
      "problem_id": 26876,
      "problem_name": "New Time",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "A",
      "problem_id": 27384,
      "problem_name": "Beast Bullies",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "sorting",
        "game theory"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "B",
      "problem_id": 27385,
      "problem_name": "Birthday Gift",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "exponentiation by squaring",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "dp",
        "exponentiation_by_squaring",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "C",
      "problem_id": 27386,
      "problem_name": "Class Field Trip",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "D",
      "problem_id": 27387,
      "problem_name": "Ghost Leg",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "E",
      "problem_id": 27388,
      "problem_name": "MazeMan",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "F",
      "problem_id": 27389,
      "problem_name": "Metronome",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "G",
      "problem_id": 27390,
      "problem_name": "Movie Night",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "tree",
        "dynamic programming on trees",
        "strongly connected component"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "trees",
        "dp_tree",
        "scc"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "H",
      "problem_id": 27391,
      "problem_name": "Platform Placing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "J",
      "problem_id": 27392,
      "problem_name": "Room Evacuation",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "K",
      "problem_id": 27393,
      "problem_name": "Smallest Calculated Value",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "L",
      "problem_id": 27394,
      "problem_name": "Spidey Distance",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3475,
      "problem_letter": "M",
      "problem_id": 27395,
      "problem_name": "Toll Roads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "binary search",
        "disjoint set",
        "offline queries",
        "minimum spanning tree",
        "lowest common ancestor",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "binary_search",
        "disjoint_set",
        "offline_queries",
        "mst",
        "lca",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "A",
      "problem_id": 27416,
      "problem_name": "Hasty Santa Claus",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "B",
      "problem_id": 27417,
      "problem_name": "Interactive Number Guessing",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "C",
      "problem_id": 27418,
      "problem_name": "Secure the Top Secret",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "maximum flow",
        "graph theory",
        "implementation",
        "planar graph"
      ],
      "tag_keys": [
        "flow",
        "graphs",
        "implementation",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "D",
      "problem_id": 27419,
      "problem_name": "Move One Coin",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "E",
      "problem_id": 27420,
      "problem_name": "Incredibly Cute Penguin Chicks",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "dynamic programming",
        "prefix sum",
        "segment tree"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "dp",
        "prefix_sum",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "F",
      "problem_id": 27421,
      "problem_name": "Make a Loop",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "G",
      "problem_id": 27422,
      "problem_name": "Remodeling the Dungeon",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "H",
      "problem_id": 27423,
      "problem_name": "Cake Decoration",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "mathematics"
      ],
      "tag_keys": [
        "binary_search",
        "math"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "I",
      "problem_id": 27424,
      "problem_name": "Quiz Contest",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "combinatorics",
        "divide and conquer",
        "fast fourier transform",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "divide_and_conquer",
        "fft",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "J",
      "problem_id": 27425,
      "problem_name": "Traveling Salesperson in an Island",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "geometry",
        "shortest path",
        "floyd–warshall",
        "line segment intersection check",
        "point in non-convex polygon check"
      ],
      "tag_keys": [
        "graphs",
        "geometry",
        "shortest_path",
        "floyd_warshall",
        "line_intersection",
        "point_in_non_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        }
      ]
    },
    {
      "contest_id": 3481,
      "problem_letter": "K",
      "problem_id": 27426,
      "problem_name": "New Year Festival",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "A",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "B",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "C",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "D",
      "problem_id": 27572,
      "problem_name": "Counting Satellites",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "E",
      "problem_id": 27578,
      "problem_name": "Exponent Exchange",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "F",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "G",
      "problem_id": 27576,
      "problem_name": "Eroding Pillars",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "articulation points and bridges",
        "binary search",
        "graph theory"
      ],
      "tag_keys": [
        "articulation",
        "binary_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "H",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "I",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "J",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "K",
      "problem_id": 27585,
      "problem_name": "Lone Knight",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "L",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3506,
      "problem_letter": "M",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "A",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "B",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "C",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "D",
      "problem_id": 27572,
      "problem_name": "Counting Satellites",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "E",
      "problem_id": 27578,
      "problem_name": "Exponent Exchange",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "F",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "G",
      "problem_id": 27576,
      "problem_name": "Eroding Pillars",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "articulation points and bridges",
        "binary search",
        "graph theory"
      ],
      "tag_keys": [
        "articulation",
        "binary_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "H",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "I",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "J",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "K",
      "problem_id": 27585,
      "problem_name": "Lone Knight",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "L",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3507,
      "problem_letter": "M",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "A",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "B",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "C",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "D",
      "problem_id": 27572,
      "problem_name": "Counting Satellites",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "E",
      "problem_id": 27578,
      "problem_name": "Exponent Exchange",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "F",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "G",
      "problem_id": 27576,
      "problem_name": "Eroding Pillars",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "articulation points and bridges",
        "binary search",
        "graph theory"
      ],
      "tag_keys": [
        "articulation",
        "binary_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "H",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "I",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "J",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "K",
      "problem_id": 27585,
      "problem_name": "Lone Knight",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "L",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3508,
      "problem_letter": "M",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "A",
      "problem_id": 27566,
      "problem_name": "Blueberry Waffle",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "B",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "C",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "D",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "E",
      "problem_id": 27577,
      "problem_name": "Everything Is A Nail",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "F",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "G",
      "problem_id": 27589,
      "problem_name": "Streets Ahead",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "H",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "I",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "J",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "K",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "L",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3509,
      "problem_letter": "M",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "A",
      "problem_id": 27566,
      "problem_name": "Blueberry Waffle",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "B",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "C",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "D",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "E",
      "problem_id": 27577,
      "problem_name": "Everything Is A Nail",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "F",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "G",
      "problem_id": 27589,
      "problem_name": "Streets Ahead",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "H",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "I",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "J",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "K",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "L",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3510,
      "problem_letter": "M",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "A",
      "problem_id": 27566,
      "problem_name": "Blueberry Waffle",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "B",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "C",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "D",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "E",
      "problem_id": 27577,
      "problem_name": "Everything Is A Nail",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "F",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "G",
      "problem_id": 27589,
      "problem_name": "Streets Ahead",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "H",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "I",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "J",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "K",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "L",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3511,
      "problem_letter": "M",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "A",
      "problem_id": 27566,
      "problem_name": "Blueberry Waffle",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "B",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "C",
      "problem_id": 27577,
      "problem_name": "Everything Is A Nail",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "D",
      "problem_id": 27569,
      "problem_name": "Champernowne Count",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "E",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "F",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "G",
      "problem_id": 27574,
      "problem_name": "Digits of Unity",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "combinatorics",
        "inclusion and exclusion",
        "fermat's little theorem",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "combinatorics",
        "inclusion_and_exclusion",
        "flt",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "H",
      "problem_id": 27583,
      "problem_name": "Hunt the Wumpus",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "I",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "J",
      "problem_id": 27564,
      "problem_name": "Advertising ICPC",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "K",
      "problem_id": 27567,
      "problem_name": "Bog of Eternal Stench",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bellman–ford",
        "binary search",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bellman_ford",
        "binary_search",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "L",
      "problem_id": 27584,
      "problem_name": "I Could Have Won",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3512,
      "problem_letter": "M",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "A",
      "problem_id": 27587,
      "problem_name": "Repetitive Song",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "B",
      "problem_id": 27578,
      "problem_name": "Exponent Exchange",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "C",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "D",
      "problem_id": 27564,
      "problem_name": "Advertising ICPC",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "E",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "F",
      "problem_id": 27589,
      "problem_name": "Streets Ahead",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "G",
      "problem_id": 27588,
      "problem_name": "Restaurant Opening",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "H",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "I",
      "problem_id": 27574,
      "problem_name": "Digits of Unity",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "combinatorics",
        "inclusion and exclusion",
        "fermat's little theorem",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "combinatorics",
        "inclusion_and_exclusion",
        "flt",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3513,
      "problem_letter": "J",
      "problem_id": 27567,
      "problem_name": "Bog of Eternal Stench",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bellman–ford",
        "binary search",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bellman_ford",
        "binary_search",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bellman_ford",
          "name": "bellman–ford",
          "boj_tag_id": 10
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "A",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "B",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "C",
      "problem_id": 27569,
      "problem_name": "Champernowne Count",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "D",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "E",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "F",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "G",
      "problem_id": 27574,
      "problem_name": "Digits of Unity",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "combinatorics",
        "inclusion and exclusion",
        "fermat's little theorem",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "combinatorics",
        "inclusion_and_exclusion",
        "flt",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "H",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "I",
      "problem_id": 27572,
      "problem_name": "Counting Satellites",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "string",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "J",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "K",
      "problem_id": 27564,
      "problem_name": "Advertising ICPC",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "L",
      "problem_id": 27578,
      "problem_name": "Exponent Exchange",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3514,
      "problem_letter": "M",
      "problem_id": 27585,
      "problem_name": "Lone Knight",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "disjoint set",
        "graph theory"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "A",
      "problem_id": 27591,
      "problem_name": "Three Dice",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "B",
      "problem_id": 27565,
      "problem_name": "Alchemy",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "C",
      "problem_id": 27569,
      "problem_name": "Champernowne Count",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "D",
      "problem_id": 27583,
      "problem_name": "Hunt the Wumpus",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "E",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "F",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "G",
      "problem_id": 27579,
      "problem_name": "Fading Wind",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "H",
      "problem_id": 27573,
      "problem_name": "Creative Accounting",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "I",
      "problem_id": 27584,
      "problem_name": "I Could Have Won",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "J",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "K",
      "problem_id": 27570,
      "problem_name": "Chocolate Chip Fabrication",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "L",
      "problem_id": 27575,
      "problem_name": "Distinct Parity Excess",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "prefix sum",
        "primality test",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prefix_sum",
        "primality_test",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 3515,
      "problem_letter": "M",
      "problem_id": 27588,
      "problem_name": "Restaurant Opening",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "A",
      "problem_id": 27566,
      "problem_name": "Blueberry Waffle",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "B",
      "problem_id": 27586,
      "problem_name": "Profitable Trip",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3516,
      "problem_letter": "C",
      "problem_id": 27569,
      "problem_name": "Champernowne Count",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "D",
      "problem_id": 27592,
      "problem_name": "Triangle Containment",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "E",
      "problem_id": 27571,
      "problem_name": "Color Tubes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "F",
      "problem_id": 27581,
      "problem_name": "Food Processor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "G",
      "problem_id": 27582,
      "problem_name": "Greedy Increasing Subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "data structures"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "H",
      "problem_id": 27568,
      "problem_name": "Branch Manager",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "I",
      "problem_id": 27584,
      "problem_name": "I Could Have Won",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation",
        "simulation",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "J",
      "problem_id": 27590,
      "problem_name": "Sun and Moon",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "K",
      "problem_id": 27577,
      "problem_name": "Everything Is A Nail",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3516,
      "problem_letter": "L",
      "problem_id": 27580,
      "problem_name": "Family Visits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "A",
      "problem_id": 27593,
      "problem_name": "Walking Boy",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "B",
      "problem_id": 27594,
      "problem_name": "Uniform Chemistry",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "C",
      "problem_id": 27595,
      "problem_name": "Another Wine Tasting Event",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "string",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "D",
      "problem_id": 27596,
      "problem_name": "Crossing the Railways",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "E",
      "problem_id": 27597,
      "problem_name": "Spinach Pizza",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "greedy"
      ],
      "tag_keys": [
        "geometry",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "F",
      "problem_id": 27598,
      "problem_name": "Beppa and SwerChat",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "ad-hoc",
        "two-pointer"
      ],
      "tag_keys": [
        "ad_hoc",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "G",
      "problem_id": 27599,
      "problem_name": "Parmigiana With Seafood",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "tree",
        "depth-first search",
        "game theory"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "trees",
        "dfs",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "H",
      "problem_id": 27600,
      "problem_name": "Controllers",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "I",
      "problem_id": 27601,
      "problem_name": "Library game",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "pigeonhole principle"
      ],
      "tag_keys": [
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "J",
      "problem_id": 27602,
      "problem_name": "Italian Data Centers",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path",
        "bitmask",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path",
        "bitmask",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "K",
      "problem_id": 27603,
      "problem_name": "Train Splitting",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "data structures",
        "constructive",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "constructive",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 3518,
      "problem_letter": "L",
      "problem_id": 27604,
      "problem_name": "Vittorio Plays with LEGO Bricks",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "A",
      "problem_id": 27609,
      "problem_name": "A-Mazing Puzzle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "B",
      "problem_id": 27610,
      "problem_name": "A Musical Question",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "C",
      "problem_id": 27611,
      "problem_name": "Cribbage On Steroids",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "implementation",
        "combinatorics",
        "knapsack"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "combinatorics",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "D",
      "problem_id": 27612,
      "problem_name": "Determining Nucleotide Assortments",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "E",
      "problem_id": 27613,
      "problem_name": "Hilbert's Hedge Maze",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "ad-hoc",
        "geometry",
        "case work",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "geometry",
        "case_work",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "F",
      "problem_id": 27614,
      "problem_name": "It's About Time",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "G",
      "problem_id": 27615,
      "problem_name": "Pea Pattern",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "H",
      "problem_id": 27616,
      "problem_name": "Picking Up Steam",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "geometry"
      ],
      "tag_keys": [
        "binary_search",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "I",
      "problem_id": 27617,
      "problem_name": "Road To Savings",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "J",
      "problem_id": 27618,
      "problem_name": "Simple Solitaire",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "K",
      "problem_id": 27619,
      "problem_name": "Two Charts Become One",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "parsing",
        "string",
        "tree"
      ],
      "tag_keys": [
        "parsing",
        "string",
        "trees"
      ],
      "tag_details": [
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3521,
      "problem_letter": "L",
      "problem_id": 27620,
      "problem_name": "Which Warehouse?",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "shortest path",
        "maximum flow",
        "floyd–warshall",
        "minimum cost maximum flow",
        "hungarian"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "flow",
        "floyd_warshall",
        "mcmf",
        "hungarian"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "A",
      "problem_id": 24604,
      "problem_name": "Black and White",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "B",
      "problem_id": 24590,
      "problem_name": "Circle Bounce",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "exponentiation by squaring",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "C",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "D",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "E",
      "problem_id": 24599,
      "problem_name": "Fail Them All!",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "greedy",
        "floyd–warshall",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "floyd_warshall",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "F",
      "problem_id": 24596,
      "problem_name": "Hopscotch 500",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "G",
      "problem_id": 24591,
      "problem_name": "Shortest Missing Subsequences",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "binary_search",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "H",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "I",
      "problem_id": 24600,
      "problem_name": "Tournament Seeding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "J",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3522,
      "problem_letter": "K",
      "problem_id": 24592,
      "problem_name": "XOR Island",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "A",
      "problem_id": 24608,
      "problem_name": "Average Character",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "B",
      "problem_id": 24604,
      "problem_name": "Black and White",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bitmask",
        "probability theory",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bitmask",
        "probability",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "C",
      "problem_id": 24598,
      "problem_name": "Diagonals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "backtracking",
        "dynamic programming",
        "dynamic programming using connection profile"
      ],
      "tag_keys": [
        "backtracking",
        "dp",
        "dp_connection_profile"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_connection_profile",
          "name": "dynamic programming using connection profile",
          "boj_tag_id": 107
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "D",
      "problem_id": 24601,
      "problem_name": "Dorm Room Divide",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "E",
      "problem_id": 24606,
      "problem_name": "Double Password",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "F",
      "problem_id": 24609,
      "problem_name": "Overdraft",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "G",
      "problem_id": 24595,
      "problem_name": "Rise and Fall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "H",
      "problem_id": 24607,
      "problem_name": "Square Bounce",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "number theory",
        "simulation",
        "case work",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "number_theory",
        "simulation",
        "case_work",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "I",
      "problem_id": 24605,
      "problem_name": "Tetris Generation",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "J",
      "problem_id": 24600,
      "problem_name": "Tournament Seeding",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "K",
      "problem_id": 24602,
      "problem_name": "Tree Hopping",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "trees",
        "lca"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3523,
      "problem_letter": "L",
      "problem_id": 24610,
      "problem_name": "Who Goes There?",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "A",
      "problem_id": 27622,
      "problem_name": "Suspicious Event",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "B",
      "problem_id": 27623,
      "problem_name": "Wooden Fence",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "C",
      "problem_id": 27624,
      "problem_name": "Card Game",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "game theory",
        "precomputation",
        "sprague–grundy theorem",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "dp",
        "game_theory",
        "precomputation",
        "sprague_grundy",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "D",
      "problem_id": 27625,
      "problem_name": "Forming a Team",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3524,
      "problem_letter": "E",
      "problem_id": 27626,
      "problem_name": "Quests from the Queen",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bitmask",
        "convex hull trick",
        "dijkstra's",
        "dynamic programming",
        "dynamic programming using bitfield",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "bitmask",
        "cht",
        "dijkstra",
        "dp",
        "dp_bitfield",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "F",
      "problem_id": 27627,
      "problem_name": "Splitology",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "G",
      "problem_id": 27628,
      "problem_name": "Treasure Hunter",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "binary search",
        "bipartite matching",
        "maximum flow",
        "graph theory",
        "graph traversal",
        "minimum cost maximum flow",
        "strongly connected component"
      ],
      "tag_keys": [
        "binary_search",
        "bipartite_matching",
        "flow",
        "graphs",
        "graph_traversal",
        "mcmf",
        "scc"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "H",
      "problem_id": 27629,
      "problem_name": "Convex Hull",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull",
        "geometry",
        "sorting"
      ],
      "tag_keys": [
        "convex_hull",
        "geometry",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "I",
      "problem_id": 27630,
      "problem_name": "Unique Ability",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "J",
      "problem_id": 27631,
      "problem_name": "Sum Mod Pair of A",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "exponentiation by squaring",
        "fast fourier transform",
        "fermat's little theorem",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "exponentiation_by_squaring",
        "fft",
        "flt",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "K",
      "problem_id": 27632,
      "problem_name": "Yet Another Sequence Related Problem",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3524,
      "problem_letter": "L",
      "problem_id": 27633,
      "problem_name": "Concealed Domino",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "M",
      "problem_id": 27634,
      "problem_name": "Tennis Game",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "PA",
      "problem_id": 21030,
      "problem_name": "Frequent Alphabet",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string"
      ],
      "tag_keys": [
        "string"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "PB",
      "problem_id": 21009,
      "problem_name": "Visible Trees",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "PC",
      "problem_id": 27621,
      "problem_name": "Sum of Three Cubes",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 3524,
      "problem_letter": "PD",
      "problem_id": 21026,
      "problem_name": "Shortsighted",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "A",
      "problem_id": 27855,
      "problem_name": "Cornhole",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "B",
      "problem_id": 27856,
      "problem_name": "Sum of Remainders",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "C",
      "problem_id": 27857,
      "problem_name": "Quotdoku",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3555,
      "problem_letter": "D",
      "problem_id": 27858,
      "problem_name": "Counting Pythagorean Triples",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "E",
      "problem_id": 27859,
      "problem_name": "Clarissa’s Conical Cannolis",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3555,
      "problem_letter": "F",
      "problem_id": 27860,
      "problem_name": "Busy As a Bee",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3555,
      "problem_letter": "G",
      "problem_id": 27861,
      "problem_name": "Linked Triangles",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "H",
      "problem_id": 27862,
      "problem_name": "You You See What?",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "string",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "I",
      "problem_id": 27863,
      "problem_name": "Caravan Trip Plans",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3555,
      "problem_letter": "J",
      "problem_id": 27864,
      "problem_name": "PSET",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "A",
      "problem_id": 28040,
      "problem_name": "Asking for Money",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "B",
      "problem_id": 28041,
      "problem_name": "Board Game",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "convex hull trick",
        "parallel binary search",
        "li–chao tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "cht",
        "pbs",
        "li_chao_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "pbs",
          "name": "parallel binary search",
          "boj_tag_id": 54
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "C",
      "problem_id": 28042,
      "problem_name": "City Folding",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "D",
      "problem_id": 28043,
      "problem_name": "Daily Trips",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "E",
      "problem_id": 28044,
      "problem_name": "Empty Squares",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "case work",
        "knapsack"
      ],
      "tag_keys": [
        "greedy",
        "case_work",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "F",
      "problem_id": 28045,
      "problem_name": "Favorite Tree",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees",
        "bipartite matching"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "G",
      "problem_id": 28046,
      "problem_name": "Gravitational Wave Detector",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "convex hull",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "H",
      "problem_id": 28047,
      "problem_name": "Horse Race",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "constructive",
        "bipartite matching"
      ],
      "tag_keys": [
        "greedy",
        "constructive",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "I",
      "problem_id": 28048,
      "problem_name": "Italian Calzone & Pasta Corner",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "breadth-first search",
        "priority queue"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "bfs",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "J",
      "problem_id": 28049,
      "problem_name": "Joining a Marathon",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "geometry",
        "offline queries",
        "difference array"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "offline_queries",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "K",
      "problem_id": 28050,
      "problem_name": "Kind Baker",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "constructive",
        "bitmask"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "L",
      "problem_id": 28051,
      "problem_name": "Lazy Printing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy",
        "string",
        "binary search",
        "hashing",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "binary_search",
        "hashing",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 3579,
      "problem_letter": "M",
      "problem_id": 28052,
      "problem_name": "Maze in Bolt",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "A",
      "problem_id": 28144,
      "problem_name": "Allergen Testing",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "B",
      "problem_id": 28145,
      "problem_name": "A Tree and Two Edges",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "bruteforcing",
        "ad-hoc",
        "tree",
        "case work",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "ad_hoc",
        "trees",
        "case_work",
        "lca"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "C",
      "problem_id": 28146,
      "problem_name": "Broken Minimum Spanning Tree",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "greedy",
        "sorting",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "sorting",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "D",
      "problem_id": 28147,
      "problem_name": "Fail Fast",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "greedy",
        "tree",
        "disjoint set",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "trees",
        "disjoint_set",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "E",
      "problem_id": 28148,
      "problem_name": "First Last",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "ad-hoc",
        "bruteforcing",
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "bruteforcing",
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "F",
      "problem_id": 28149,
      "problem_name": "Four Square",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "G",
      "problem_id": 28150,
      "problem_name": "Frequent Flier",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "H",
      "problem_id": 28151,
      "problem_name": "Game Show Elimination",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3594,
      "problem_letter": "I",
      "problem_id": 28152,
      "problem_name": "Power of Divisors",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "J",
      "problem_id": 28153,
      "problem_name": "Repetitive String Invention",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "string",
        "prefix sum",
        "hashing"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "K",
      "problem_id": 28154,
      "problem_name": "Space Alignment",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "L",
      "problem_id": 28155,
      "problem_name": "Splitting Pairs",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3594,
      "problem_letter": "M",
      "problem_id": 28156,
      "problem_name": "Who Watches the Watchmen?",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "case work",
        "maximum flow",
        "geometry",
        "geometry; 3d",
        "hungarian",
        "implementation",
        "mathematics",
        "minimum cost maximum flow",
        "prefix sum",
        "sorting",
        "graph theory"
      ],
      "tag_keys": [
        "case_work",
        "flow",
        "geometry",
        "geometry_3d",
        "hungarian",
        "implementation",
        "math",
        "mcmf",
        "prefix_sum",
        "sorting",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "A",
      "problem_id": 28166,
      "problem_name": "TreeScript",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "B",
      "problem_id": 28167,
      "problem_name": "Big Picture",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "combinatorics",
        "linearity of expectation",
        "mathematics",
        "prefix sum",
        "probability theory"
      ],
      "tag_keys": [
        "combinatorics",
        "linearity_of_expectation",
        "math",
        "prefix_sum",
        "probability"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "C",
      "problem_id": 28168,
      "problem_name": "Painting Grid",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive",
        "case work",
        "bitmask"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "case_work",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "D",
      "problem_id": 28169,
      "problem_name": "Shortest Path Query",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull",
        "directed acyclic graph",
        "dynamic programming",
        "geometry",
        "graph theory",
        "topological sorting"
      ],
      "tag_keys": [
        "convex_hull",
        "dag",
        "dp",
        "geometry",
        "graphs",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "E",
      "problem_id": 28170,
      "problem_name": "Goose, Goose, DUCK?",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "F",
      "problem_id": 28171,
      "problem_name": "Sum of Numbers",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "arbitrary precision / big integers",
        "backtracking",
        "dynamic programming"
      ],
      "tag_keys": [
        "arbitrary_precision",
        "backtracking",
        "dp"
      ],
      "tag_details": [
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "G",
      "problem_id": 28172,
      "problem_name": "Paddle Star",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "H",
      "problem_id": 28173,
      "problem_name": "Another Goose Goose Duck Problem",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "I",
      "problem_id": 28174,
      "problem_name": "Range Closest Pair of Points Query",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3597,
      "problem_letter": "J",
      "problem_id": 28175,
      "problem_name": "Dice Game",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3597,
      "problem_letter": "K",
      "problem_id": 28176,
      "problem_name": "Maximum GCD",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3597,
      "problem_letter": "L",
      "problem_id": 28177,
      "problem_name": "Permutation Compression",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "binary search",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "binary_search",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "A",
      "problem_id": 28224,
      "problem_name": "Final Price",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "B",
      "problem_id": 28225,
      "problem_name": "Flower Festival",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "C",
      "problem_id": 28226,
      "problem_name": "Simplification",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "D",
      "problem_id": 28227,
      "problem_name": "Dominoes",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "geometry",
        "stack",
        "calculus",
        "boolean operations on geometric objects"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "geometry",
        "stack",
        "calculus",
        "geometric_boolean_operations"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "E",
      "problem_id": 28228,
      "problem_name": "Parking Party",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "F",
      "problem_id": 28229,
      "problem_name": "Ammunition Storage",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "stack",
        "multidimensional segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "stack",
        "multi_segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "multi_segtree",
          "name": "multidimensional segment tree",
          "boj_tag_id": 166
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "G",
      "problem_id": 28230,
      "problem_name": "Laboratory Report",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3607,
      "problem_letter": "H",
      "problem_id": 28231,
      "problem_name": "Network Topology in Hezardastan",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3607,
      "problem_letter": "I",
      "problem_id": 28232,
      "problem_name": "Windcatchers",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "implementation",
        "geometry",
        "sweeping",
        "bulldozer trick"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "sweeping",
        "bulldozer"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "bulldozer",
          "name": "bulldozer trick",
          "boj_tag_id": 238
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "J",
      "problem_id": 28233,
      "problem_name": "Magic with Cards",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "shortest path"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3607,
      "problem_letter": "K",
      "problem_id": 28234,
      "problem_name": "Iranian Hazfi Cup",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3625,
      "problem_letter": "A",
      "problem_id": 28369,
      "problem_name": "Adolescent Architecture 2",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "parametric search",
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "geometry",
        "parametric_search",
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "B",
      "problem_id": 28370,
      "problem_name": "Balloon Darts",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "randomization",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "geometry",
        "randomization",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "C",
      "problem_id": 28371,
      "problem_name": "Cosmic Commute",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "D",
      "problem_id": 28372,
      "problem_name": "DnD Dice",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "E",
      "problem_id": 28373,
      "problem_name": "Eszett",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "F",
      "problem_id": 28374,
      "problem_name": "Freestyle Masonry",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "G",
      "problem_id": 28375,
      "problem_name": "German Conference for Public Counting",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "H",
      "problem_id": 28376,
      "problem_name": "Highway Combinatorics",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "randomization",
        "modular multiplicative inverse",
        "meet in the middle",
        "birthday problem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "randomization",
        "modular_multiplicative_inverse",
        "mitm",
        "birthday"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        },
        {
          "key": "birthday",
          "name": "birthday problem",
          "boj_tag_id": 203
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "I",
      "problem_id": 28377,
      "problem_name": "Investigating Frog Behaviour on Lily Pad Patterns",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "J",
      "problem_id": 28378,
      "problem_name": "Japanese Lottery",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "K",
      "problem_id": 28379,
      "problem_name": "Kaldorian Knights",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "L",
      "problem_id": 28380,
      "problem_name": "Loop Invariant",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3625,
      "problem_letter": "M",
      "problem_id": 28381,
      "problem_name": "Mischievous Math",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "constructive",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "constructive",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "A",
      "problem_id": 29684,
      "problem_name": "Which Team Should Receive the Sponsor Prize?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "B",
      "problem_id": 29706,
      "problem_name": "Amidakuji",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "C",
      "problem_id": 29707,
      "problem_name": "Changing the Sitting Arrangement",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "D",
      "problem_id": 29708,
      "problem_name": "Efficient Problem Set",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "bitmask",
        "backtracking",
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "bitmask",
        "backtracking",
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "E",
      "problem_id": 29709,
      "problem_name": "Tampered Records",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3854,
      "problem_letter": "F",
      "problem_id": 29710,
      "problem_name": "Villa of Emblem Shape",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "G",
      "problem_id": 29711,
      "problem_name": "Fair Deal of Dice",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "probability theory",
        "knapsack"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "probability",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3854,
      "problem_letter": "H",
      "problem_id": 29712,
      "problem_name": "Planning Locations of Bus Stops",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3902,
      "problem_letter": "A",
      "problem_id": 29986,
      "problem_name": "Amusement Park Adventure",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "B",
      "problem_id": 29987,
      "problem_name": "Best Fair Shuffles",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "C",
      "problem_id": 29988,
      "problem_name": "Challenging Hike",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "lis"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "D",
      "problem_id": 29989,
      "problem_name": "Detour",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dijkstra's",
        "divide and conquer",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "divide_and_conquer",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "E",
      "problem_id": 29990,
      "problem_name": "Extracting Pollen",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sweeping"
      ],
      "tag_keys": [
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "F",
      "problem_id": 29991,
      "problem_name": "Fatigue-Fighting Vacation",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "G",
      "problem_id": 29992,
      "problem_name": "Great Treaty of Byteland",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "H",
      "problem_id": 29993,
      "problem_name": "Honest Worker",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "value / coordinate compression",
        "data structures",
        "dynamic programming",
        "greedy",
        "priority queue",
        "segment tree",
        "sorting"
      ],
      "tag_keys": [
        "coordinate_compression",
        "data_structures",
        "dp",
        "greedy",
        "priority_queue",
        "segtree",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "I",
      "problem_id": 29994,
      "problem_name": "Investigating Zeroes and Ones",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "J",
      "problem_id": 29995,
      "problem_name": "Jumping to Victory",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "delaunay triangulation",
        "geometry",
        "voronoi diagram"
      ],
      "tag_keys": [
        "delaunay",
        "geometry",
        "voronoi"
      ],
      "tag_details": [
        {
          "key": "delaunay",
          "name": "delaunay triangulation",
          "boj_tag_id": 21
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "voronoi",
          "name": "voronoi diagram",
          "boj_tag_id": 82
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "K",
      "problem_id": 29996,
      "problem_name": "K for More, K for Less",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "L",
      "problem_id": 29997,
      "problem_name": "Lexicographical Challenge",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3902,
      "problem_letter": "M",
      "problem_id": 29998,
      "problem_name": "Maximizing Flight Efficiency",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "shortest path",
        "floyd–warshall"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "floyd_warshall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "floyd_warshall",
          "name": "floyd–warshall",
          "boj_tag_id": 31
        }
      ]
    },
    {
      "contest_id": 3931,
      "problem_letter": "A",
      "problem_id": 30129,
      "problem_name": "Blocks for kids",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3931,
      "problem_letter": "B",
      "problem_id": 30130,
      "problem_name": "Paper Presentation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3931,
      "problem_letter": "C",
      "problem_id": 30131,
      "problem_name": "Gold Digging",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3931,
      "problem_letter": "D",
      "problem_id": 30132,
      "problem_name": "Minesweeper",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 3931,
      "problem_letter": "E",
      "problem_id": 30133,
      "problem_name": "Palindromic paths",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3931,
      "problem_letter": "F",
      "problem_id": 30134,
      "problem_name": "Pile it down",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "game theory"
      ],
      "tag_keys": [
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 3931,
      "problem_letter": "G",
      "problem_id": 30135,
      "problem_name": "Dice Poker",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 3931,
      "problem_letter": "H",
      "problem_id": 30136,
      "problem_name": "Advise National Security!",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 3931,
      "problem_letter": "I",
      "problem_id": 30137,
      "problem_name": "Find Terrorists",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "A",
      "problem_id": 30138,
      "problem_name": "Playing Field",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "geometry",
        "mathematics",
        "area of a polygon",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "math",
        "polygon_area",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "B",
      "problem_id": 30139,
      "problem_name": "Regular Expression Edit Distance",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "string",
        "shortest path",
        "dijkstra's",
        "parsing",
        "0-1 bfs",
        "regular expression"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "shortest_path",
        "dijkstra",
        "parsing",
        "0_1_bfs",
        "regex"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "C",
      "problem_id": 30140,
      "problem_name": "Square-Free Numbers",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "D",
      "problem_id": 30141,
      "problem_name": "Soccer Teams",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "E",
      "problem_id": 30142,
      "problem_name": "Sales Prediction",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3932,
      "problem_letter": "F",
      "problem_id": 30143,
      "problem_name": "Cookie Piles",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "G",
      "problem_id": 30144,
      "problem_name": "Christmas Play",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3932,
      "problem_letter": "H",
      "problem_id": 30145,
      "problem_name": "Shopping Rush",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3932,
      "problem_letter": "I",
      "problem_id": 30146,
      "problem_name": "Dividing Stones",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking",
        "data structures",
        "set / map by hashing",
        "precomputation",
        "set / map"
      ],
      "tag_keys": [
        "backtracking",
        "data_structures",
        "hash_set",
        "precomputation",
        "set"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 3932,
      "problem_letter": "J",
      "problem_id": 30147,
      "problem_name": "Chemicals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3933,
      "problem_letter": "A",
      "problem_id": 30148,
      "problem_name": "Malvika conducts her own ACM-ICPC contest series",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3933,
      "problem_letter": "B",
      "problem_id": 30149,
      "problem_name": "Animesh decides to settle down",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "half plane intersection",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "half_plane_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "C",
      "problem_id": 30150,
      "problem_name": "Animesh practices some programming contests",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "D",
      "problem_id": 30151,
      "problem_name": "Malvika gets bored along with her Cats",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3933,
      "problem_letter": "E",
      "problem_id": 30152,
      "problem_name": "Malvika conducts a Programming Camp",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "F",
      "problem_id": 30153,
      "problem_name": "King Animesh decides to have a voyage to the sun",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3933,
      "problem_letter": "G",
      "problem_id": 30154,
      "problem_name": "Malvika and Animesh play Red-Blue cards Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "ad-hoc",
        "game theory",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "game_theory",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "H",
      "problem_id": 30155,
      "problem_name": "Crazy Malvika discovers Crazy Fibonacci function",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "I",
      "problem_id": 30156,
      "problem_name": "Malvika is peculiar about color of balloons",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "J",
      "problem_id": 30157,
      "problem_name": "Animesh does not gift Malvika on her birthday",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "graph theory",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "K",
      "problem_id": 30158,
      "problem_name": "Animesh has a war with tribal leader Malvika",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "greedy",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 3933,
      "problem_letter": "L",
      "problem_id": 30159,
      "problem_name": "Praveen falls from a tall tree",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 3987,
      "problem_letter": "A",
      "problem_id": 30305,
      "problem_name": "Anti-Tetris",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "B",
      "problem_id": 30306,
      "problem_name": "Better Dice",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "C",
      "problem_id": 30307,
      "problem_name": "Cheap Flying",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "D",
      "problem_id": 30308,
      "problem_name": "Determining Duos",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "E",
      "problem_id": 30309,
      "problem_name": "Exceeding Limits",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "parametric search"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "F",
      "problem_id": 30310,
      "problem_name": "Finding Forks",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "G",
      "problem_id": 30311,
      "problem_name": "Gathering Search Results",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "H",
      "problem_id": 30312,
      "problem_name": "Hacky Ordering",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "string",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "I",
      "problem_id": 30313,
      "problem_name": "Idle Terminal",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "priority queue"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "J",
      "problem_id": 30314,
      "problem_name": "Just a Joystick",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "K",
      "problem_id": 30315,
      "problem_name": "King's Keep",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "L",
      "problem_id": 30316,
      "problem_name": "Losing Leaves",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3987,
      "problem_letter": "M",
      "problem_id": 30317,
      "problem_name": "Monorail",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "A",
      "problem_id": 30319,
      "problem_name": "Advance to Taoyuan Regional",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "B",
      "problem_id": 30320,
      "problem_name": "Better Chance",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "C",
      "problem_id": 30321,
      "problem_name": "Cutting into Monotone Increasing Sequence",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "string",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "dp",
        "string",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "D",
      "problem_id": 30322,
      "problem_name": "Divide a Convex",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "ternary search",
        "rotating calipers"
      ],
      "tag_keys": [
        "geometry",
        "ternary_search",
        "rotating_calipers"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "rotating_calipers",
          "name": "rotating calipers",
          "boj_tag_id": 64
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "E",
      "problem_id": 30323,
      "problem_name": "Exponentiation",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "dp",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "F",
      "problem_id": 30324,
      "problem_name": "Finding Bridges",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "disjoint set",
        "offline queries",
        "articulation points and bridges"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "disjoint_set",
        "offline_queries",
        "articulation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "G",
      "problem_id": 30325,
      "problem_name": "Gadget Construction",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull",
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "convex_hull",
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "H",
      "problem_id": 30326,
      "problem_name": "Heap Structure",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "tree"
      ],
      "tag_keys": [
        "math",
        "trees"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "I",
      "problem_id": 30327,
      "problem_name": "Introversion",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "J",
      "problem_id": 30328,
      "problem_name": "Java Warriors",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "K",
      "problem_id": 30329,
      "problem_name": "Kick",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 3989,
      "problem_letter": "L",
      "problem_id": 30330,
      "problem_name": "Location, Location, Location",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "A",
      "problem_id": 30432,
      "problem_name": "Aperiodic Appointments",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "B",
      "problem_id": 30433,
      "problem_name": "Berry Battle 2",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "C",
      "problem_id": 30434,
      "problem_name": "Converting Romans",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "D",
      "problem_id": 30435,
      "problem_name": "Die Hard",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "E",
      "problem_id": 30436,
      "problem_name": "Electronic Components",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "data structures"
      ],
      "tag_keys": [
        "dp",
        "data_structures"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "F",
      "problem_id": 30437,
      "problem_name": "Factor-Full Tree",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "graph theory",
        "greedy",
        "graph traversal",
        "tree",
        "number theory",
        "constructive",
        "depth-first search",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "greedy",
        "graph_traversal",
        "trees",
        "number_theory",
        "constructive",
        "dfs",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "G",
      "problem_id": 30438,
      "problem_name": "Groups of Strangers",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "string",
        "bitmask",
        "dynamic programming using bitfield",
        "strongly connected component",
        "2-sat",
        "z"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "string",
        "bitmask",
        "dp_bitfield",
        "scc",
        "2_sat",
        "z"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "H",
      "problem_id": 30439,
      "problem_name": "Heroes of Velmar",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "I",
      "problem_id": 30440,
      "problem_name": "Intertwined",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4004,
      "problem_letter": "J",
      "problem_id": 30441,
      "problem_name": "Jamboree",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4004,
      "problem_letter": "K",
      "problem_id": 30442,
      "problem_name": "Karl Coder",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "A",
      "problem_id": 30443,
      "problem_name": "Gourmet Tour",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "tree",
        "constructive"
      ],
      "tag_keys": [
        "trees",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "B",
      "problem_id": 30444,
      "problem_name": "Grid Partition",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "backtracking",
        "precomputation",
        "knuth's x"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "backtracking",
        "precomputation",
        "knuth_x"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "knuth_x",
          "name": "knuth's x",
          "boj_tag_id": 174
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "C",
      "problem_id": 30445,
      "problem_name": "행복 점수",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "D",
      "problem_id": 30446,
      "problem_name": "회문수",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "E",
      "problem_id": 30447,
      "problem_name": "Paper Folding",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "geometry",
        "line segment intersection check",
        "area of a polygon",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "line_intersection",
        "polygon_area",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "F",
      "problem_id": 30448,
      "problem_name": "Perfect Quadrants",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "data structures",
        "segment tree",
        "set / map",
        "sweeping",
        "set / map by trees",
        "priority queue",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "segtree",
        "set",
        "sweeping",
        "tree_set",
        "priority_queue",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "G",
      "problem_id": 30449,
      "problem_name": "Reafy 수열",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "H",
      "problem_id": 30450,
      "problem_name": "Rigged Lottery",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "I",
      "problem_id": 30451,
      "problem_name": "Safari",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "J",
      "problem_id": 30452,
      "problem_name": "Server Overload",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4005,
      "problem_letter": "K",
      "problem_id": 30453,
      "problem_name": "Symmetry of Stars",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "bruteforcing",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "A",
      "problem_id": 30476,
      "problem_name": "Analyzing Contracts",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "divide and conquer",
        "divide and conquer optimization",
        "dynamic programming",
        "segment tree",
        "square root decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "divide_and_conquer",
        "divide_and_conquer_optimization",
        "dp",
        "segtree",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "B",
      "problem_id": 30477,
      "problem_name": "Blackboard Game",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "C",
      "problem_id": 30478,
      "problem_name": "Candy Rush",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "set / map",
        "prefix sum",
        "hashing"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "prefix_sum",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "D",
      "problem_id": 30479,
      "problem_name": "Deciphering WordWhiz",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "E",
      "problem_id": 30480,
      "problem_name": "Elevated Profits",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "greedy",
        "tree",
        "disjoint set",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "trees",
        "disjoint_set",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "F",
      "problem_id": 30481,
      "problem_name": "Forward and Backward",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "square root decomposition"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "G",
      "problem_id": 30482,
      "problem_name": "GPS on a Flat Earth",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "implementation",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "H",
      "problem_id": 30483,
      "problem_name": "Health in Hazard",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "binary search",
        "parametric search",
        "half plane intersection"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "parametric_search",
        "half_plane_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "half_plane_intersection",
          "name": "half plane intersection",
          "boj_tag_id": 190
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "I",
      "problem_id": 30484,
      "problem_name": "Inversions",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "J",
      "problem_id": 30485,
      "problem_name": "Journey of the Robber",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "tree",
        "divide and conquer",
        "lowest common ancestor",
        "centroid",
        "centroid decomposition"
      ],
      "tag_keys": [
        "trees",
        "divide_and_conquer",
        "lca",
        "centroid",
        "centroid_decomposition"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "K",
      "problem_id": 30486,
      "problem_name": "Keen on Order",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "L",
      "problem_id": 30487,
      "problem_name": "Latam++",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "case work"
      ],
      "tag_keys": [
        "binary_search",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4006,
      "problem_letter": "M",
      "problem_id": 30488,
      "problem_name": "Meeting Point",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "A",
      "problem_id": 30489,
      "problem_name": "<code>apt upgrade</code>",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "sorting",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "B",
      "problem_id": 30490,
      "problem_name": "Battle Bots",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "C",
      "problem_id": 30491,
      "problem_name": "Compressing Commands",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "dynamic programming",
        "data structures",
        "string",
        "tree",
        "dynamic programming on trees",
        "parsing",
        "rerooting on trees"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "data_structures",
        "string",
        "trees",
        "dp_tree",
        "parsing",
        "rerooting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "rerooting",
          "name": "rerooting on trees",
          "boj_tag_id": 233
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "D",
      "problem_id": 30492,
      "problem_name": "Democratic Naming",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "E",
      "problem_id": 30493,
      "problem_name": "Exam Study Planning",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "F",
      "problem_id": 30494,
      "problem_name": "Funicular Frenzy",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "G",
      "problem_id": 30495,
      "problem_name": "Geometry Game",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "H",
      "problem_id": 30496,
      "problem_name": "Hidden Art",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "I",
      "problem_id": 30497,
      "problem_name": "International Irregularities",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "prefix sum",
        "case work",
        "sparse table"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "prefix_sum",
        "case_work",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "J",
      "problem_id": 30498,
      "problem_name": "Jungle Job",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "K",
      "problem_id": 30499,
      "problem_name": "King of the Hill",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "randomization"
      ],
      "tag_keys": [
        "ad_hoc",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 4010,
      "problem_letter": "L",
      "problem_id": 30500,
      "problem_name": "Locking Doors",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "A",
      "problem_id": 30524,
      "problem_name": "A Pivotal Question",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "B",
      "problem_id": 30525,
      "problem_name": "B Road Band",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "geometry",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "C",
      "problem_id": 30526,
      "problem_name": "Convex Hull Extension",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "pick's theorem"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "pick"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pick",
          "name": "pick's theorem",
          "boj_tag_id": 187
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "D",
      "problem_id": 30527,
      "problem_name": "Cornhusker",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "E",
      "problem_id": 30528,
      "problem_name": "Prof. Fumblemore and the Collatz Conjecture",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "F",
      "problem_id": 30529,
      "problem_name": "Double Up",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "dynamic programming"
      ],
      "tag_keys": [
        "implementation",
        "dp"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "G",
      "problem_id": 30530,
      "problem_name": "Forest for the Trees",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "bruteforcing",
        "sorting",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "sorting",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "H",
      "problem_id": 30531,
      "problem_name": "Impartial Strings",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "string",
        "ad-hoc",
        "tree",
        "constructive",
        "randomization",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "ad_hoc",
        "trees",
        "constructive",
        "randomization",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "I",
      "problem_id": 30532,
      "problem_name": "ISBN Conversion",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "J",
      "problem_id": 30533,
      "problem_name": "Pearls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4011,
      "problem_letter": "K",
      "problem_id": 30534,
      "problem_name": "Split Decisions",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4011,
      "problem_letter": "L",
      "problem_id": 30535,
      "problem_name": "A (Fast) Walk in the Woods",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "A",
      "problem_id": 30527,
      "problem_name": "Cornhusker",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "B",
      "problem_id": 30524,
      "problem_name": "A Pivotal Question",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "C",
      "problem_id": 30528,
      "problem_name": "Prof. Fumblemore and the Collatz Conjecture",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "D",
      "problem_id": 30529,
      "problem_name": "Double Up",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "dynamic programming"
      ],
      "tag_keys": [
        "implementation",
        "dp"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "E",
      "problem_id": 24744,
      "problem_name": "Three Spheres and a Tetrahedron",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "F",
      "problem_id": 30530,
      "problem_name": "Forest for the Trees",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "bruteforcing",
        "sorting",
        "geometry",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "sorting",
        "geometry",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "G",
      "problem_id": 30533,
      "problem_name": "Pearls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4013,
      "problem_letter": "H",
      "problem_id": 30535,
      "problem_name": "A (Fast) Walk in the Woods",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "I",
      "problem_id": 30532,
      "problem_name": "ISBN Conversion",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "J",
      "problem_id": 30537,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4013,
      "problem_letter": "K",
      "problem_id": 30538,
      "problem_name": "Plus Minus Four Squares",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4013,
      "problem_letter": "L",
      "problem_id": 30539,
      "problem_name": "Make Your Own Morse Code Palindrome",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "A",
      "problem_id": 30540,
      "problem_name": "A Complex Problem",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "B",
      "problem_id": 30541,
      "problem_name": "Add or Multiply",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "C",
      "problem_id": 30542,
      "problem_name": "Anti-Palindrome",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4015,
      "problem_letter": "D",
      "problem_id": 30543,
      "problem_name": "Bombardment",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "simulation",
        "sliding window"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "simulation",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 4015,
      "problem_letter": "E",
      "problem_id": 30544,
      "problem_name": "Cuckoo! Cuckoo!",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4015,
      "problem_letter": "F",
      "problem_id": 30545,
      "problem_name": "Cyclical Periods",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4015,
      "problem_letter": "G",
      "problem_id": 30546,
      "problem_name": "Gas Station",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "H",
      "problem_id": 30547,
      "problem_name": "Modified Gray Code",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4015,
      "problem_letter": "I",
      "problem_id": 30548,
      "problem_name": "Reapportionment",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "J",
      "problem_id": 30549,
      "problem_name": "Ribbon Road",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "K",
      "problem_id": 30550,
      "problem_name": "Scientific Grading",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4015,
      "problem_letter": "L",
      "problem_id": 30551,
      "problem_name": "Scrabble Flash",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4016,
      "problem_letter": "A",
      "problem_id": 30552,
      "problem_name": "Attendance",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4016,
      "problem_letter": "B",
      "problem_id": 30541,
      "problem_name": "Add or Multiply",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4016,
      "problem_letter": "C",
      "problem_id": 30553,
      "problem_name": "Guess Who",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4016,
      "problem_letter": "D",
      "problem_id": 30554,
      "problem_name": "Seven Up",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "implementation",
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "dp",
        "implementation",
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4016,
      "problem_letter": "E",
      "problem_id": 30546,
      "problem_name": "Gas Station",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4016,
      "problem_letter": "F",
      "problem_id": 30555,
      "problem_name": "Thwack!",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 4016,
      "problem_letter": "G",
      "problem_id": 30543,
      "problem_name": "Bombardment",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "simulation",
        "sliding window"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "simulation",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 4016,
      "problem_letter": "H",
      "problem_id": 30550,
      "problem_name": "Scientific Grading",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4016,
      "problem_letter": "I",
      "problem_id": 30556,
      "problem_name": "Building Roads",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4016,
      "problem_letter": "J",
      "problem_id": 30557,
      "problem_name": "Don't Be Fake",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "prefix sum",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4016,
      "problem_letter": "K",
      "problem_id": 30540,
      "problem_name": "A Complex Problem",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4016,
      "problem_letter": "L",
      "problem_id": 30549,
      "problem_name": "Ribbon Road",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4017,
      "problem_letter": "A",
      "problem_id": 30558,
      "problem_name": "Assessment Disruption",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "B",
      "problem_id": 30559,
      "problem_name": "Boat Commuter",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "C",
      "problem_id": 30560,
      "problem_name": "Clearing Space",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "D",
      "problem_id": 30561,
      "problem_name": "Delivery Forces",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "E",
      "problem_id": 30562,
      "problem_name": "Enchanted Fortress",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "randomization",
        "heuristics",
        "meet in the middle"
      ],
      "tag_keys": [
        "bruteforcing",
        "randomization",
        "heuristics",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "F",
      "problem_id": 30563,
      "problem_name": "Fast Forward",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "binary search",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "binary_search",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "G",
      "problem_id": 30564,
      "problem_name": "Glacier Travel",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "mathematics",
        "ternary search",
        "two-pointer"
      ],
      "tag_keys": [
        "geometry",
        "math",
        "ternary_search",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "H",
      "problem_id": 30565,
      "problem_name": "History in Numbers",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "I",
      "problem_id": 30566,
      "problem_name": "International Travel",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4017,
      "problem_letter": "J",
      "problem_id": 30567,
      "problem_name": "Journey of Recovery",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dijkstra's",
        "graph theory",
        "parsing",
        "shortest path",
        "string"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "parsing",
        "shortest_path",
        "string"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "K",
      "problem_id": 30568,
      "problem_name": "Kernel Scheduler",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "directed acyclic graph"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "dag"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "L",
      "problem_id": 30569,
      "problem_name": "Last One Standing",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "M",
      "problem_id": 30570,
      "problem_name": "Mini-Tetris 3023",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4017,
      "problem_letter": "N",
      "problem_id": 30571,
      "problem_name": "Naming Wine Bottles",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "B",
      "problem_id": 30572,
      "problem_name": "Beth’s Cookies",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "C",
      "problem_id": 30573,
      "problem_name": "Clubbing",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "two-pointer",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "two_pointer",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "D",
      "problem_id": 30574,
      "problem_name": "Digitalisation",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc",
        "greedy"
      ],
      "tag_keys": [
        "ad_hoc",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "E",
      "problem_id": 30575,
      "problem_name": "Expressions",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "F",
      "problem_id": 30576,
      "problem_name": "Fragmentation",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "binary search",
        "primality test",
        "precomputation",
        "sieve of eratosthenes",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "binary_search",
        "primality_test",
        "precomputation",
        "sieve",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "G",
      "problem_id": 30577,
      "problem_name": "Golem Coordinated Derby",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "greedy",
        "mathematics",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "greedy",
        "math",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "H",
      "problem_id": 30578,
      "problem_name": "Hamster",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "graph traversal",
        "geometry",
        "case work",
        "disjoint set"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "graph_traversal",
        "geometry",
        "case_work",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "M",
      "problem_id": 30579,
      "problem_name": "Movers",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "square root decomposition"
      ],
      "tag_keys": [
        "graphs",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "N",
      "problem_id": 30580,
      "problem_name": "Natatorium",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "arithmetic",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "arithmetic",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "P",
      "problem_id": 30581,
      "problem_name": "Proglute",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "S",
      "problem_id": 30582,
      "problem_name": "Screamers in the Storm",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "geometry",
        "geometry; hyperdimensional"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "geometry_hyper"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_hyper",
          "name": "geometry; hyperdimensional",
          "boj_tag_id": 132
        }
      ]
    },
    {
      "contest_id": 4022,
      "problem_letter": "W",
      "problem_id": 30583,
      "problem_name": "Wall",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "A",
      "problem_id": 30584,
      "problem_name": "Середина игры",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "B",
      "problem_id": 30585,
      "problem_name": "Поп-ит",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "C",
      "problem_id": 30586,
      "problem_name": "Ужин для интровертов",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "D",
      "problem_id": 30587,
      "problem_name": "Плохие ставки",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4023,
      "problem_letter": "E",
      "problem_id": 30588,
      "problem_name": "Клюкало",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "F",
      "problem_id": 30589,
      "problem_name": "Маска для монстров",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "greedy",
        "geometry",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "greedy",
        "geometry",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "G",
      "problem_id": 30590,
      "problem_name": "Наибольший наибольший общий делитель",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "H",
      "problem_id": 30591,
      "problem_name": "Прогрессивный NoSQL",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4023,
      "problem_letter": "I",
      "problem_id": 30592,
      "problem_name": "Марго покидает Мегабайтбург",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "0-1 bfs",
        "dijkstra's",
        "graph theory",
        "graph traversal",
        "shortest path"
      ],
      "tag_keys": [
        "0_1_bfs",
        "dijkstra",
        "graphs",
        "graph_traversal",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 4023,
      "problem_letter": "J",
      "problem_id": 30593,
      "problem_name": "Snakes&Snakes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4023,
      "problem_letter": "K",
      "problem_id": 30594,
      "problem_name": "Бинарные деревья",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4023,
      "problem_letter": "L",
      "problem_id": 30595,
      "problem_name": "Апокалипсис",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "geometry",
        "implementation",
        "mathematics"
      ],
      "tag_keys": [
        "geometry",
        "implementation",
        "math"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "A",
      "problem_id": 30596,
      "problem_name": "Axis-Aligned Area",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "B",
      "problem_id": 30597,
      "problem_name": "Based Zeros",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "heuristics"
      ],
      "tag_keys": [
        "ad_hoc",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "C",
      "problem_id": 30598,
      "problem_name": "Colorful Village",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "tree",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "trees",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "D",
      "problem_id": 30599,
      "problem_name": "Divisibility Trick",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "E",
      "problem_id": 30600,
      "problem_name": "Every Queen",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "F",
      "problem_id": 30601,
      "problem_name": "First Solved, Last Coded",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "G",
      "problem_id": 30602,
      "problem_name": "Game of Nim",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "bitmask"
      ],
      "tag_keys": [
        "dp",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "H",
      "problem_id": 30603,
      "problem_name": "H-Shaped Figures",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "geometry",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "I",
      "problem_id": 30604,
      "problem_name": "Intersegment Activation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "J",
      "problem_id": 30605,
      "problem_name": "Jumping Frogs",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "binary search",
        "greedy"
      ],
      "tag_keys": [
        "binary_search",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "K",
      "problem_id": 30606,
      "problem_name": "Kitchen Timer",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "L",
      "problem_id": 30607,
      "problem_name": "Loops",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "constructive",
        "directed acyclic graph",
        "graph theory",
        "topological sorting"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "dag",
        "graphs",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4024,
      "problem_letter": "M",
      "problem_id": 30608,
      "problem_name": "Missing Vowels",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "1",
      "problem_id": 30609,
      "problem_name": "Alloys",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "sorting",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "2",
      "problem_id": 30610,
      "problem_name": "A-maze-ing Lakes",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "3",
      "problem_id": 30611,
      "problem_name": "Course Prerequisites",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "4",
      "problem_id": 30612,
      "problem_name": "Heavy Rainfall",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "5",
      "problem_id": 30613,
      "problem_name": "Weather Trends",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "set / map by trees",
        "priority queue",
        "deque",
        "sliding window",
        "deque range maximum trick"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "tree_set",
        "priority_queue",
        "deque",
        "sliding_window",
        "deque_trick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        },
        {
          "key": "deque_trick",
          "name": "deque range maximum trick",
          "boj_tag_id": 216
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "6",
      "problem_id": 30614,
      "problem_name": "Port Robot",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "7",
      "problem_id": 30615,
      "problem_name": "Variable Assignments",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "2-sat",
        "graph theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "2_sat",
        "graphs",
        "scc"
      ],
      "tag_details": [
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 4025,
      "problem_letter": "8",
      "problem_id": 30616,
      "problem_name": "Spy Network",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4029,
      "problem_letter": "A",
      "problem_id": 30655,
      "problem_name": "Pique Esconde",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "B",
      "problem_id": 30656,
      "problem_name": "Concatenação de Strings",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "string",
        "number theory",
        "knuth–morris–pratt"
      ],
      "tag_keys": [
        "math",
        "string",
        "number_theory",
        "kmp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "C",
      "problem_id": 30657,
      "problem_name": "Cada um no seu quadrado",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "geometry",
        "sorting"
      ],
      "tag_keys": [
        "geometry",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "D",
      "problem_id": 30658,
      "problem_name": "Os últimos serão os primeiros",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "E",
      "problem_id": 30659,
      "problem_name": "Hora do rush",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "F",
      "problem_id": 30660,
      "problem_name": "Caminho de Bêbado",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4029,
      "problem_letter": "G",
      "problem_id": 30661,
      "problem_name": "Arquipélago",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "backtracking",
        "implementation",
        "recursion"
      ],
      "tag_keys": [
        "backtracking",
        "implementation",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "H",
      "problem_id": 30662,
      "problem_name": "O Jogo",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map by hashing",
        "implementation",
        "simulation",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "hash_set",
        "implementation",
        "simulation",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "I",
      "problem_id": 30663,
      "problem_name": "Soma de números consecutivos",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "J",
      "problem_id": 30664,
      "problem_name": "Loteria Falha",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "K",
      "problem_id": 30665,
      "problem_name": "Centros de Distribuição Gêmeos",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "graph theory",
        "bitmask",
        "bit set"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bitmask",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4029,
      "problem_letter": "L",
      "problem_id": 30666,
      "problem_name": "Soma de quantidade prima de primos consecutivos",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "A",
      "problem_id": 30852,
      "problem_name": "Apricot Seeds",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "prefix sum",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "prefix_sum",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "B",
      "problem_id": 30853,
      "problem_name": "Black Box",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "C",
      "problem_id": 30854,
      "problem_name": "Farm",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "sweeping",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "sweeping",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "D",
      "problem_id": 30855,
      "problem_name": "Fraction",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "data structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "string",
        "parsing",
        "stack"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "E",
      "problem_id": 30856,
      "problem_name": "K-Lottery",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "hashing"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "F",
      "problem_id": 30857,
      "problem_name": "Lucky Draws",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "sweeping",
        "divide and conquer",
        "segment tree with lazy propagation",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "sweeping",
        "divide_and_conquer",
        "lazyprop",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "G",
      "problem_id": 30858,
      "problem_name": "Magic Cards",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "data structures",
        "bruteforcing",
        "ad-hoc",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "bruteforcing",
        "ad_hoc",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "H",
      "problem_id": 30859,
      "problem_name": "M. S. I. S.",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "I",
      "problem_id": 30860,
      "problem_name": "Product Delivery",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "J",
      "problem_id": 30861,
      "problem_name": "Special Numbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "digit dp"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "K",
      "problem_id": 30862,
      "problem_name": "Tandem Copy",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4058,
      "problem_letter": "L",
      "problem_id": 30863,
      "problem_name": "Walk Swapping",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "greedy",
        "string",
        "ad-hoc",
        "hashing"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "string",
        "ad_hoc",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "A",
      "problem_id": 30898,
      "problem_name": "Arranging Adapters",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "B",
      "problem_id": 30899,
      "problem_name": "Brickwork",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "constructive",
        "case work",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "constructive",
        "case_work",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "C",
      "problem_id": 30900,
      "problem_name": "Chair Dance",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "ad-hoc",
        "number theory",
        "disjoint set",
        "extended euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "ad_hoc",
        "number_theory",
        "disjoint_set",
        "extended_euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "extended_euclidean",
          "name": "extended euclidean algorithm",
          "boj_tag_id": 27
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "D",
      "problem_id": 30901,
      "problem_name": "Date Picker",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "sorting",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "sorting",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "E",
      "problem_id": 30902,
      "problem_name": "Exponentiation",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "data structures",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "F",
      "problem_id": 30903,
      "problem_name": "Fixing Fractions",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "G",
      "problem_id": 30904,
      "problem_name": "Galaxy Quest",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "shortest_path",
        "dijkstra",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "H",
      "problem_id": 30905,
      "problem_name": "Higher Arithmetic",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "I",
      "problem_id": 30906,
      "problem_name": "Isolated Island",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "ad-hoc",
        "planar graph",
        "dual graph"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "planar_graph",
        "dual_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "dual_graph",
          "name": "dual graph",
          "boj_tag_id": 181
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "J",
      "problem_id": 30907,
      "problem_name": "Jogging Tour",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "geometry",
        "bitmask",
        "dynamic programming using bitfield",
        "travelling salesman problem"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "bitmask",
        "dp_bitfield",
        "tsp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "tsp",
          "name": "travelling salesman problem",
          "boj_tag_id": 138
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "K",
      "problem_id": 30908,
      "problem_name": "Klompendans",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "L",
      "problem_id": 30909,
      "problem_name": "Lateral Damage",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "PA",
      "problem_id": 30886,
      "problem_name": "Artistic Souvenir",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "PB",
      "problem_id": 30887,
      "problem_name": "Basic Math",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "set / map",
        "value / coordinate compression",
        "bipartite matching"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "coordinate_compression",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4062,
      "problem_letter": "PC",
      "problem_id": 30888,
      "problem_name": "Cheese Comparison",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "A",
      "problem_id": 30928,
      "problem_name": "Yokohama Phenomena",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "depth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "B",
      "problem_id": 30929,
      "problem_name": "Rank Promotion",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "C",
      "problem_id": 30930,
      "problem_name": "Ferris Wheel",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "mathematics",
        "combinatorics",
        "burnside's lemma"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "burnside"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "burnside",
          "name": "burnside's lemma",
          "boj_tag_id": 16
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "D",
      "problem_id": 30931,
      "problem_name": "Nested Repetition Compression",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "E",
      "problem_id": 30932,
      "problem_name": "Chayas",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "F",
      "problem_id": 30933,
      "problem_name": "Color Inversion on a Huge Chessboard",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "G",
      "problem_id": 30934,
      "problem_name": "Fortune Telling",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "H",
      "problem_id": 30935,
      "problem_name": "Task Assignment to Two Employees",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "maximum flow",
        "max-flow min-cut theorem",
        "sorting",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "mfmc",
        "sorting",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "I",
      "problem_id": 30936,
      "problem_name": "Liquid Distribution",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc",
        "geometry",
        "sorting"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "J",
      "problem_id": 30937,
      "problem_name": "Do It Yourself?",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "greedy",
        "tree",
        "segment tree",
        "priority queue",
        "smaller to larger technique",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "trees",
        "segtree",
        "priority_queue",
        "smaller_to_larger",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 4070,
      "problem_letter": "K",
      "problem_id": 30938,
      "problem_name": "Probing the Disk",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "A",
      "problem_id": 30945,
      "problem_name": "Attendance",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "greedy",
        "two-pointer",
        "offline queries",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "two_pointer",
        "offline_queries",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "B",
      "problem_id": 30946,
      "problem_name": "Ball Passing",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "C",
      "problem_id": 30947,
      "problem_name": "Cakes",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "D",
      "problem_id": 30948,
      "problem_name": "Drying Laundry",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "binary search",
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "binary_search",
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "E",
      "problem_id": 30949,
      "problem_name": "Equal Schedules",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "data structures",
        "string",
        "set / map",
        "set / map by hashing",
        "set / map by trees"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "set",
        "hash_set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "F",
      "problem_id": 30950,
      "problem_name": "Phylogenetics",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4073,
      "problem_letter": "G",
      "problem_id": 30951,
      "problem_name": "Going to the Moon",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "H",
      "problem_id": 30952,
      "problem_name": "Human Resources",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "string",
        "graph traversal",
        "constructive",
        "depth-first search",
        "bitmask",
        "parsing"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "graph_traversal",
        "constructive",
        "dfs",
        "bitmask",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "I",
      "problem_id": 30953,
      "problem_name": "Interactive Reconstruction",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "ad-hoc",
        "tree",
        "bitmask"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "trees",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "J",
      "problem_id": 30954,
      "problem_name": "Jumbled Stacks",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "K",
      "problem_id": 30955,
      "problem_name": "Keys",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "case work",
        "constructive",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "constructive",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4073,
      "problem_letter": "L",
      "problem_id": 30956,
      "problem_name": "Labelled Paths",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "string",
        "directed acyclic graph",
        "topological sorting",
        "hashing",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "dag",
        "topological_sorting",
        "hashing",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4078,
      "problem_letter": "1",
      "problem_id": 31010,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4078,
      "problem_letter": "2",
      "problem_id": 31011,
      "problem_name": "Heiroglyphics",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4078,
      "problem_letter": "3",
      "problem_id": 31012,
      "problem_name": "Abusive Tactics",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4078,
      "problem_letter": "4",
      "problem_id": 31013,
      "problem_name": "Shortest Circuit",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4078,
      "problem_letter": "5",
      "problem_id": 31014,
      "problem_name": "Floodfill",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4078,
      "problem_letter": "6",
      "problem_id": 31015,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4078,
      "problem_letter": "7",
      "problem_id": 31016,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4078,
      "problem_letter": "8",
      "problem_id": 31017,
      "problem_name": "Golumb Cages",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4080,
      "problem_letter": "A",
      "problem_id": 31018,
      "problem_name": "Alley",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "data structures",
        "sorting",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "B",
      "problem_id": 31019,
      "problem_name": "Bouncing Balls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4080,
      "problem_letter": "C",
      "problem_id": 31020,
      "problem_name": "Collision Alert",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "D",
      "problem_id": 31021,
      "problem_name": "Cookie Cutting",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "sorting",
        "geometry",
        "calculus",
        "green's theorem"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry",
        "calculus",
        "green"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "green",
          "name": "green's theorem",
          "boj_tag_id": 183
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "E",
      "problem_id": 31022,
      "problem_name": "Corrupted Gradebook",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "F",
      "problem_id": 14762,
      "problem_name": "Election",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "G",
      "problem_id": 31024,
      "problem_name": "Filesystem",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "case work",
        "data structures",
        "set / map by hashing",
        "implementation",
        "linked list",
        "parsing",
        "recursion",
        "string",
        "tree",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "case_work",
        "data_structures",
        "hash_set",
        "implementation",
        "linked_list",
        "parsing",
        "recursion",
        "string",
        "trees",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "linked_list",
          "name": "linked list",
          "boj_tag_id": 154
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "H",
      "problem_id": 14761,
      "problem_name": "FizzBuzz",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "I",
      "problem_id": 31023,
      "problem_name": "Hit Song",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "parsing"
      ],
      "tag_keys": [
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4080,
      "problem_letter": "J",
      "problem_id": 31025,
      "problem_name": "Placing Plates",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4080,
      "problem_letter": "K",
      "problem_id": 31026,
      "problem_name": "The ABC Conjecture",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory",
        "euclidean algorithm",
        "precomputation",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "euclidean",
        "precomputation",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "A",
      "problem_id": 15096,
      "problem_name": "Batter Up",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "B",
      "problem_id": 31039,
      "problem_name": "Collection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4081,
      "problem_letter": "C",
      "problem_id": 15101,
      "problem_name": "Faulty Robot",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "breadth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "D",
      "problem_id": 15099,
      "problem_name": "Honey Heist",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "E",
      "problem_id": 15102,
      "problem_name": "Hopscotch",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "combinatorics",
        "exponentiation by squaring",
        "fermat's little theorem",
        "mathematics",
        "modular multiplicative inverse",
        "number theory"
      ],
      "tag_keys": [
        "combinatorics",
        "exponentiation_by_squaring",
        "flt",
        "math",
        "modular_multiplicative_inverse",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "F",
      "problem_id": 31040,
      "problem_name": "Nine Knights",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "G",
      "problem_id": 15098,
      "problem_name": "No Duplicates",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "H",
      "problem_id": 15100,
      "problem_name": "Orderly Class",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "I",
      "problem_id": 15103,
      "problem_name": "The Uncertainty of Politics",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4081,
      "problem_letter": "J",
      "problem_id": 15097,
      "problem_name": "Ring String",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4081,
      "problem_letter": "K",
      "problem_id": 31041,
      "problem_name": "State Fair",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "A",
      "problem_id": 31042,
      "problem_name": "Turning Trominos",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "B",
      "problem_id": 31043,
      "problem_name": "Minor Setback",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "number theory",
        "set / map",
        "case work",
        "set / map by hashing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "number_theory",
        "set",
        "case_work",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "C",
      "problem_id": 31044,
      "problem_name": "Substring Switcheroo",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "set / map by hashing",
        "sliding window",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "sliding_window",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "D",
      "problem_id": 31045,
      "problem_name": "DJ Gigs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4082,
      "problem_letter": "E",
      "problem_id": 31046,
      "problem_name": "Communications Satellite",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "F",
      "problem_id": 31047,
      "problem_name": "Warehouse",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "data structures",
        "sorting",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "sorting",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "G",
      "problem_id": 31048,
      "problem_name": "Last Factorial Digit",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "H",
      "problem_id": 31049,
      "problem_name": "Great Fireball",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "geometry",
        "sweeping",
        "parametric search"
      ],
      "tag_keys": [
        "geometry",
        "sweeping",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "I",
      "problem_id": 31050,
      "problem_name": "Unique Dice",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "J",
      "problem_id": 31051,
      "problem_name": "Raging River",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "maximum flow",
        "minimum cost maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mcmf"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mcmf",
          "name": "minimum cost maximum flow",
          "boj_tag_id": 48
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "K",
      "problem_id": 31052,
      "problem_name": "Relocation",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4082,
      "problem_letter": "L",
      "problem_id": 31053,
      "problem_name": "Unterwave Distance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4106,
      "problem_letter": "A",
      "problem_id": 31160,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4106,
      "problem_letter": "B",
      "problem_id": 31147,
      "problem_name": "New Queries On Segment Deluxe",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "segment tree with lazy propagation",
        "persistent segment tree",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "lazyprop",
        "pst",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "C",
      "problem_id": 31153,
      "problem_name": "Werewolves",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "D",
      "problem_id": 31158,
      "problem_name": "Many LCS",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4106,
      "problem_letter": "E",
      "problem_id": 31152,
      "problem_name": "Replace Sort",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "F",
      "problem_id": 31151,
      "problem_name": "to Pay Respects",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "G",
      "problem_id": 31159,
      "problem_name": "Max Pair Matching",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "H",
      "problem_id": 31154,
      "problem_name": "Colourful Permutation Sorting",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "greedy",
        "bruteforcing",
        "sorting",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing",
        "sorting",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "I",
      "problem_id": 31150,
      "problem_name": "Flood Fill",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "J",
      "problem_id": 31146,
      "problem_name": "ABC Legacy",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "K",
      "problem_id": 31156,
      "problem_name": "Amazing Tree",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "graph traversal",
        "sorting",
        "tree",
        "depth-first search",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "graph_traversal",
        "sorting",
        "trees",
        "dfs",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "L",
      "problem_id": 31155,
      "problem_name": "Jason ABC",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "constructive",
        "case work",
        "two-pointer"
      ],
      "tag_keys": [
        "constructive",
        "case_work",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "M",
      "problem_id": 31148,
      "problem_name": "Counting Phenomenal Arrays",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "combinatorics",
        "backtracking"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4106,
      "problem_letter": "N",
      "problem_id": 31161,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "A",
      "problem_id": 31162,
      "problem_name": "AMPPZ in the times of disease",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "B",
      "problem_id": 31163,
      "problem_name": "Babushka and her pierogi",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "C",
      "problem_id": 31164,
      "problem_name": "Cake",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "ad-hoc",
        "segment tree",
        "parity"
      ],
      "tag_keys": [
        "data_structures",
        "ad_hoc",
        "segtree",
        "parity"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4107,
      "problem_letter": "D",
      "problem_id": 31165,
      "problem_name": "Divided Mechanism",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "E",
      "problem_id": 31166,
      "problem_name": "Epidemic",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "F",
      "problem_id": 31167,
      "problem_name": "Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "G",
      "problem_id": 31168,
      "problem_name": "Gebyte's Grind",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "H",
      "problem_id": 31169,
      "problem_name": "Hidden Password",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4107,
      "problem_letter": "I",
      "problem_id": 31170,
      "problem_name": "Interesting Numbers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "J",
      "problem_id": 31171,
      "problem_name": "Jungle Trail",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "K",
      "problem_id": 31172,
      "problem_name": "Kitten and Roomba",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "L",
      "problem_id": 31173,
      "problem_name": "Lemurs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4107,
      "problem_letter": "M",
      "problem_id": 31174,
      "problem_name": "Median",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4108,
      "problem_letter": "A",
      "problem_id": 31188,
      "problem_name": "Avio Algoritam",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "B",
      "problem_id": 31189,
      "problem_name": "Bipartitna Barikada",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bitmask",
        "dynamic programming",
        "dynamic programming using bitfield",
        "hall's theorem"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_bitfield",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "C",
      "problem_id": 31190,
      "problem_name": "Cjelovita Cesta",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "difference array"
      ],
      "tag_keys": [
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "D",
      "problem_id": 31191,
      "problem_name": "Dražesni Doručak",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "linear algebra",
        "line segment intersection check",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "linear_algebra",
        "line_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "E",
      "problem_id": 31192,
      "problem_name": "Ekstravagantni Eksperiment",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "F",
      "problem_id": 31193,
      "problem_name": "Fenomenalni Frano",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4108,
      "problem_letter": "G",
      "problem_id": 31194,
      "problem_name": "Gipka Gumica",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4108,
      "problem_letter": "H",
      "problem_id": 31195,
      "problem_name": "Heksadekadski Haos",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "I",
      "problem_id": 31196,
      "problem_name": "Inteligentna Ines",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "J",
      "problem_id": 31197,
      "problem_name": "Jedinstveno Jezero",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "data structures",
        "sorting",
        "segment tree",
        "value / coordinate compression",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "sorting",
        "segtree",
        "coordinate_compression",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4108,
      "problem_letter": "K",
      "problem_id": 31198,
      "problem_name": "Kilave Krave",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4108,
      "problem_letter": "L",
      "problem_id": 31199,
      "problem_name": "Luckasti Likovi",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "geometry",
        "case work",
        "convex hull"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "case_work",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "A",
      "problem_id": 31301,
      "problem_name": "Contest Advancement",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "B",
      "problem_id": 31302,
      "problem_name": "Digit Translation",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "C",
      "problem_id": 31303,
      "problem_name": "Don't Hunger Together",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "binary search",
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "D",
      "problem_id": 31304,
      "problem_name": "Garden of Thorns",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "calculus",
        "boolean operations on geometric objects",
        "geometry",
        "green's theorem",
        "mathematics"
      ],
      "tag_keys": [
        "calculus",
        "geometric_boolean_operations",
        "geometry",
        "green",
        "math"
      ],
      "tag_details": [
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "geometric_boolean_operations",
          "name": "boolean operations on geometric objects",
          "boj_tag_id": 202
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "green",
          "name": "green's theorem",
          "boj_tag_id": 183
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "E",
      "problem_id": 31305,
      "problem_name": "ICPC Team Generation",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "F",
      "problem_id": 31306,
      "problem_name": "Is Y a Vowel?",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "G",
      "problem_id": 31307,
      "problem_name": "Lines Per Hour",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "H",
      "problem_id": 31308,
      "problem_name": "Magnesium Supplementation",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "I",
      "problem_id": 31309,
      "problem_name": "Missing Number",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "J",
      "problem_id": 31310,
      "problem_name": "Tip of Your Tongue",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "hashing",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hashing",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "K",
      "problem_id": 31311,
      "problem_name": "Very Important Edge",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "disjoint set",
        "minimum spanning tree",
        "lowest common ancestor"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "disjoint_set",
        "mst",
        "lca"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        }
      ]
    },
    {
      "contest_id": 4130,
      "problem_letter": "L",
      "problem_id": 31312,
      "problem_name": "Water Journal",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "A",
      "problem_id": 31482,
      "problem_name": "Card game",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "bruteforcing",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "bruteforcing",
        "lis"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "B",
      "problem_id": 31483,
      "problem_name": "Supporting everyone",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "maximum flow",
        "bipartite matching",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "bipartite_matching",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "C",
      "problem_id": 31484,
      "problem_name": "Metro quiz",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "set / map",
        "bitmask",
        "set / map by hashing",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "set",
        "bitmask",
        "hash_set",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "D",
      "problem_id": 31485,
      "problem_name": "Flag performance",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "combinatorics",
        "backtracking",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "combinatorics",
        "backtracking",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "E",
      "problem_id": 31486,
      "problem_name": "Nicest view",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "F",
      "problem_id": 31487,
      "problem_name": "Programming-trampoline-athlon!",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "G",
      "problem_id": 31488,
      "problem_name": "Favourite dish",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "convex hull",
        "convex hull trick"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "cht"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "H",
      "problem_id": 31489,
      "problem_name": "Break a leg!",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "sorting",
        "geometry",
        "combinatorics",
        "two-pointer",
        "arbitrary precision / big integers",
        "angle sorting"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry",
        "combinatorics",
        "two_pointer",
        "arbitrary_precision",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "I",
      "problem_id": 31490,
      "problem_name": "Throwing dice",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "J",
      "problem_id": 31491,
      "problem_name": "Olympic goodies",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "greedy",
        "ad-hoc",
        "tree"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "ad_hoc",
        "trees"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "K",
      "problem_id": 31492,
      "problem_name": "Team selection",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "binary search"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "L",
      "problem_id": 31493,
      "problem_name": "Broken trophy",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "M",
      "problem_id": 31494,
      "problem_name": "In-order",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "dynamic programming",
        "ad-hoc",
        "tree",
        "combinatorics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "dp",
        "ad_hoc",
        "trees",
        "combinatorics",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "PA",
      "problem_id": 31448,
      "problem_name": "Ascending hike",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "PB",
      "problem_id": 31449,
      "problem_name": "Close scores",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "constructive",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "constructive",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "PC",
      "problem_id": 31450,
      "problem_name": "Everyone is a winner",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "PD",
      "problem_id": 31451,
      "problem_name": "Five in a Row",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "set / map by hashing",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4151,
      "problem_letter": "PE",
      "problem_id": 31452,
      "problem_name": "Wooden blocks",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "B",
      "problem_id": 31507,
      "problem_name": "Acceptable Seating Arrangements",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "C",
      "problem_id": 31508,
      "problem_name": "Candy Factory",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "D",
      "problem_id": 31509,
      "problem_name": "Cramming for Finals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "E",
      "problem_id": 31510,
      "problem_name": "Eccentric Excursion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "tree",
        "case work",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "trees",
        "case_work",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "F",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "G",
      "problem_id": 31512,
      "problem_name": "Matrix Fraud",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "H",
      "problem_id": 31513,
      "problem_name": "On-Call Team",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "bruteforcing",
        "hall's theorem"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "I",
      "problem_id": 31514,
      "problem_name": "Range Editing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "J",
      "problem_id": 31515,
      "problem_name": "Segment Drawing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "K",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "L",
      "problem_id": 31517,
      "problem_name": "Training",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4156,
      "problem_letter": "M",
      "problem_id": 31518,
      "problem_name": "Triple Sevens",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "A",
      "problem_id": 31519,
      "problem_name": "A Cappella Recording",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "B",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "C",
      "problem_id": 31521,
      "problem_name": "Four Die Rolls",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "E",
      "problem_id": 31517,
      "problem_name": "Training",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "F",
      "problem_id": 31518,
      "problem_name": "Triple Sevens",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "G",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "H",
      "problem_id": 31507,
      "problem_name": "Acceptable Seating Arrangements",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "I",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "J",
      "problem_id": 31508,
      "problem_name": "Candy Factory",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "K",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "L",
      "problem_id": 31524,
      "problem_name": "Magic Cube",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "geometry",
        "simulation",
        "geometry; 3d"
      ],
      "tag_keys": [
        "implementation",
        "geometry",
        "simulation",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 4157,
      "problem_letter": "M",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "A",
      "problem_id": 31526,
      "problem_name": "Rampant Growth",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "B",
      "problem_id": 31514,
      "problem_name": "Range Editing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "C",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "D",
      "problem_id": 31527,
      "problem_name": "Tournament Matchmaking",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "bitmask",
        "bipartite matching"
      ],
      "tag_keys": [
        "bruteforcing",
        "bitmask",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "E",
      "problem_id": 31515,
      "problem_name": "Segment Drawing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "F",
      "problem_id": 31510,
      "problem_name": "Eccentric Excursion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "tree",
        "case work",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "trees",
        "case_work",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "G",
      "problem_id": 31518,
      "problem_name": "Triple Sevens",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "H",
      "problem_id": 31528,
      "problem_name": "Diverse Contest",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "bruteforcing",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "bruteforcing",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "I",
      "problem_id": 31517,
      "problem_name": "Training",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "J",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "K",
      "problem_id": 31509,
      "problem_name": "Cramming for Finals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4158,
      "problem_letter": "L",
      "problem_id": 31512,
      "problem_name": "Matrix Fraud",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "B",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "C",
      "problem_id": 31509,
      "problem_name": "Cramming for Finals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "E",
      "problem_id": 31510,
      "problem_name": "Eccentric Excursion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "tree",
        "case work",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "trees",
        "case_work",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "F",
      "problem_id": 31512,
      "problem_name": "Matrix Fraud",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "G",
      "problem_id": 31513,
      "problem_name": "On-Call Team",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "bruteforcing",
        "hall's theorem"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "H",
      "problem_id": 31514,
      "problem_name": "Range Editing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "I",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "J",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "K",
      "problem_id": 31525,
      "problem_name": "Streets Behind",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "L",
      "problem_id": 31515,
      "problem_name": "Segment Drawing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4159,
      "problem_letter": "M",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "B",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "C",
      "problem_id": 31519,
      "problem_name": "A Cappella Recording",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "E",
      "problem_id": 31507,
      "problem_name": "Acceptable Seating Arrangements",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "F",
      "problem_id": 31521,
      "problem_name": "Four Die Rolls",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "G",
      "problem_id": 31526,
      "problem_name": "Rampant Growth",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "H",
      "problem_id": 31518,
      "problem_name": "Triple Sevens",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "I",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "J",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "K",
      "problem_id": 31525,
      "problem_name": "Streets Behind",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "L",
      "problem_id": 31517,
      "problem_name": "Training",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4160,
      "problem_letter": "M",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "B",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "C",
      "problem_id": 31509,
      "problem_name": "Cramming for Finals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "E",
      "problem_id": 31510,
      "problem_name": "Eccentric Excursion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "tree",
        "case work",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "trees",
        "case_work",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "F",
      "problem_id": 31512,
      "problem_name": "Matrix Fraud",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "G",
      "problem_id": 31513,
      "problem_name": "On-Call Team",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "bruteforcing",
        "hall's theorem"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "H",
      "problem_id": 31514,
      "problem_name": "Range Editing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "I",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "J",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "K",
      "problem_id": 31525,
      "problem_name": "Streets Behind",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "L",
      "problem_id": 31515,
      "problem_name": "Segment Drawing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4161,
      "problem_letter": "M",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "B",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "C",
      "problem_id": 31519,
      "problem_name": "A Cappella Recording",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "E",
      "problem_id": 31507,
      "problem_name": "Acceptable Seating Arrangements",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "F",
      "problem_id": 31521,
      "problem_name": "Four Die Rolls",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "G",
      "problem_id": 31526,
      "problem_name": "Rampant Growth",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "H",
      "problem_id": 31518,
      "problem_name": "Triple Sevens",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "I",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "J",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "K",
      "problem_id": 31525,
      "problem_name": "Streets Behind",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "L",
      "problem_id": 31517,
      "problem_name": "Training",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4162,
      "problem_letter": "M",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "B",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "C",
      "problem_id": 31509,
      "problem_name": "Cramming for Finals",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "E",
      "problem_id": 31510,
      "problem_name": "Eccentric Excursion",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "greedy",
        "tree",
        "case work",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "greedy",
        "trees",
        "case_work",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "F",
      "problem_id": 31512,
      "problem_name": "Matrix Fraud",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "prefix sum",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "G",
      "problem_id": 31513,
      "problem_name": "On-Call Team",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "bitmask",
        "bruteforcing",
        "hall's theorem"
      ],
      "tag_keys": [
        "bitmask",
        "bruteforcing",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "H",
      "problem_id": 31514,
      "problem_name": "Range Editing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "I",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "J",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "K",
      "problem_id": 31525,
      "problem_name": "Streets Behind",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "L",
      "problem_id": 31515,
      "problem_name": "Segment Drawing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "geometry",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4163,
      "problem_letter": "M",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "A",
      "problem_id": 31506,
      "problem_name": "ABC String",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "B",
      "problem_id": 31523,
      "problem_name": "Balanced Tree Path",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "tree",
        "depth-first search",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "trees",
        "dfs",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "C",
      "problem_id": 31519,
      "problem_name": "A Cappella Recording",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "D",
      "problem_id": 31522,
      "problem_name": "Ordered Problem Set",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "E",
      "problem_id": 31507,
      "problem_name": "Acceptable Seating Arrangements",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "constructive",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "F",
      "problem_id": 31521,
      "problem_name": "Four Die Rolls",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "G",
      "problem_id": 31526,
      "problem_name": "Rampant Growth",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "H",
      "problem_id": 31518,
      "problem_name": "Triple Sevens",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "I",
      "problem_id": 31511,
      "problem_name": "Item Selection",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "J",
      "problem_id": 31516,
      "problem_name": "Sequence Guessing",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "K",
      "problem_id": 31525,
      "problem_name": "Streets Behind",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "L",
      "problem_id": 31517,
      "problem_name": "Training",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4164,
      "problem_letter": "M",
      "problem_id": 31520,
      "problem_name": "Champernowne Verification",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "A",
      "problem_id": 31593,
      "problem_name": "Antiparticle Antiphysics",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "implementation",
        "constructive",
        "finding invariants"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "constructive",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "B",
      "problem_id": 31594,
      "problem_name": "Attraction Score",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "graph theory",
        "sorting",
        "case work",
        "planar graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "sorting",
        "case_work",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "C",
      "problem_id": 31595,
      "problem_name": "Bit Counting Sequence",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "D",
      "problem_id": 31596,
      "problem_name": "Bánh Bò",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "bitmask",
        "combinatorics",
        "dynamic programming",
        "dynamic programming using bitfield",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "combinatorics",
        "dp",
        "dp_bitfield",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "E",
      "problem_id": 31597,
      "problem_name": "Duplicates",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "F",
      "problem_id": 31598,
      "problem_name": "Forming Groups",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "number theory",
        "set / map",
        "set / map by trees",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "number_theory",
        "set",
        "tree_set",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "G",
      "problem_id": 31599,
      "problem_name": "Personality Test",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bruteforcing",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "bruteforcing",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "H",
      "problem_id": 31600,
      "problem_name": "Pho Restaurant",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "I",
      "problem_id": 31601,
      "problem_name": "Symmetric Boundary",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "convex hull",
        "line segment intersection check",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "line_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "J",
      "problem_id": 31602,
      "problem_name": "There and Back Again",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "K",
      "problem_id": 31603,
      "problem_name": "Tree Quiz",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "binary search",
        "euler tour technique",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "binary_search",
        "euler_tour_technique",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "L",
      "problem_id": 31604,
      "problem_name": "XOR Operations",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "linear algebra",
        "gaussian elimination",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "gaussian_elimination",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "M",
      "problem_id": 31605,
      "problem_name": "Zig-zag",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "combinatorics",
        "inclusion and exclusion",
        "fast fourier transform",
        "generating function"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "inclusion_and_exclusion",
        "fft",
        "generating_function"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "generating_function",
          "name": "generating function",
          "boj_tag_id": 198
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "PA",
      "problem_id": 31590,
      "problem_name": "Candy Compress",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "string",
        "rope"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "rope"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "rope",
          "name": "rope",
          "boj_tag_id": 159
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "PB",
      "problem_id": 31591,
      "problem_name": "Combination Lock",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "bitmask",
        "primality test",
        "dynamic programming using bitfield",
        "traceback"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "bitmask",
        "primality_test",
        "dp_bitfield",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "PC",
      "problem_id": 31592,
      "problem_name": "Online Assignment",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "ad-hoc",
        "differential cryptanalysis"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc",
        "differential_cryptanalysis"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "differential_cryptanalysis",
          "name": "differential cryptanalysis",
          "boj_tag_id": 185
        }
      ]
    },
    {
      "contest_id": 4173,
      "problem_letter": "PD",
      "problem_id": 11748,
      "problem_name": "Squeeze the Cylinders",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "A",
      "problem_id": 31751,
      "problem_name": "Almost Aligned",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "implementation",
        "geometry",
        "case work",
        "arbitrary precision / big integers",
        "convex hull trick",
        "numerical analysis"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "geometry",
        "case_work",
        "arbitrary_precision",
        "cht",
        "numerical_analysis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "numerical_analysis",
          "name": "numerical analysis",
          "boj_tag_id": 122
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "B",
      "problem_id": 31752,
      "problem_name": "Beating the Record",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "dynamic programming",
        "binary search",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "binary_search",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "C",
      "problem_id": 31753,
      "problem_name": "Clever Cell Choices",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "game theory",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "game_theory",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "D",
      "problem_id": 31754,
      "problem_name": "DiviDuelo",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "game theory",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "game_theory",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "E",
      "problem_id": 31755,
      "problem_name": "Expanding STACKS!",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "bipartite graph"
      ],
      "tag_keys": [
        "graphs",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "F",
      "problem_id": 31756,
      "problem_name": "Fair Distribution",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "number theory",
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "G",
      "problem_id": 31757,
      "problem_name": "Greek Casino",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "probability theory",
        "harmonic number"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "probability",
        "harmonic_number"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "harmonic_number",
          "name": "harmonic number",
          "boj_tag_id": 241
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "H",
      "problem_id": 31758,
      "problem_name": "Harmonic Operations",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "knuth–morris–pratt",
        "prefix sum",
        "string",
        "z"
      ],
      "tag_keys": [
        "kmp",
        "prefix_sum",
        "string",
        "z"
      ],
      "tag_details": [
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "I",
      "problem_id": 31759,
      "problem_name": "Insects, Mathematics, Accuracy, and Efficiency",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "convex hull",
        "geometry",
        "area of a polygon",
        "prefix sum"
      ],
      "tag_keys": [
        "binary_search",
        "convex_hull",
        "geometry",
        "polygon_area",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "J",
      "problem_id": 31760,
      "problem_name": "Joys of Trading",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "K",
      "problem_id": 31761,
      "problem_name": "KMOP",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4195,
      "problem_letter": "L",
      "problem_id": 31762,
      "problem_name": "LED Matrix",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "P",
      "problem_id": 31890,
      "problem_name": "Turning Red",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "Q",
      "problem_id": 31891,
      "problem_name": "Doing the Container Shuffle",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "data structures",
        "segment tree",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "segtree",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "R",
      "problem_id": 31892,
      "problem_name": "Zoo Management",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "data structures",
        "string",
        "segment tree",
        "case work",
        "knuth–morris–pratt",
        "articulation points and bridges",
        "biconnected component",
        "cactus",
        "finding invariants",
        "z"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "string",
        "segtree",
        "case_work",
        "kmp",
        "articulation",
        "bcc",
        "cactus",
        "invariant",
        "z"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "S",
      "problem_id": 31893,
      "problem_name": "Bridging the Gap",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "T",
      "problem_id": 31894,
      "problem_name": "Carl’s Vacation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "geometry; 3d",
        "ternary search",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "ternary_search",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "U",
      "problem_id": 31895,
      "problem_name": "Toy Train Tracks",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "V",
      "problem_id": 31896,
      "problem_name": "Three Kinds of Dice",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "geometry",
        "probability theory",
        "convex hull",
        "linear programming"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "probability",
        "convex_hull",
        "linear_programming"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "W",
      "problem_id": 31897,
      "problem_name": "Riddle of the Sphinx",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "ad-hoc",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "X",
      "problem_id": 31898,
      "problem_name": "Quartets",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "dynamic programming",
        "bruteforcing",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "bruteforcing",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "Y",
      "problem_id": 31899,
      "problem_name": "Compression",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4210,
      "problem_letter": "Z",
      "problem_id": 31900,
      "problem_name": "Archaeological Recovery",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [
        "mathematics",
        "ad-hoc",
        "bitmask",
        "linear algebra",
        "meet in the middle"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "bitmask",
        "linear_algebra",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "A",
      "problem_id": 31897,
      "problem_name": "Riddle of the Sphinx",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "ad-hoc",
        "linear algebra"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "linear_algebra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "B",
      "problem_id": 31901,
      "problem_name": "Schedule",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "mathematics",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "C",
      "problem_id": 31896,
      "problem_name": "Three Kinds of Dice",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "geometry",
        "probability theory",
        "convex hull",
        "linear programming"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "probability",
        "convex_hull",
        "linear_programming"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "D",
      "problem_id": 31894,
      "problem_name": "Carl’s Vacation",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "geometry; 3d",
        "ternary search",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "ternary_search",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "E",
      "problem_id": 31902,
      "problem_name": "A Recurring Problem",
      "problem_difficulty": "Ruby II",
      "difficulty_level": 29,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4211,
      "problem_letter": "F",
      "problem_id": 31903,
      "problem_name": "Tilting Tiles",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "number theory",
        "permutation cycle decomposition",
        "knuth–morris–pratt",
        "chinese remainder theorem",
        "z"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "number_theory",
        "permutation_cycle_decomposition",
        "kmp",
        "crt",
        "z"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "G",
      "problem_id": 31890,
      "problem_name": "Turning Red",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "flood-fill"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "H",
      "problem_id": 31904,
      "problem_name": "Jet Lag",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "I",
      "problem_id": 31905,
      "problem_name": "Waterworld",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "J",
      "problem_id": 31893,
      "problem_name": "Bridging the Gap",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4211,
      "problem_letter": "K",
      "problem_id": 31906,
      "problem_name": "Alea Iacta Est",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "A",
      "problem_id": 31949,
      "problem_name": "Arrested Development",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "B",
      "problem_id": 31950,
      "problem_name": "Champernowne Substring",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "C",
      "problem_id": 31951,
      "problem_name": "Comparator",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bit set",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "bitset",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "D",
      "problem_id": 31952,
      "problem_name": "Dihedral Group",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "E",
      "problem_id": 31953,
      "problem_name": "House Deconstruction",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "data structures",
        "graph theory",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "F",
      "problem_id": 31954,
      "problem_name": "Magic Bean",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "G",
      "problem_id": 31955,
      "problem_name": "Manhattan Walk",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "H",
      "problem_id": 31956,
      "problem_name": "MountainCraft",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "I",
      "problem_id": 31957,
      "problem_name": "Not Another Constructive!",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "J",
      "problem_id": 31958,
      "problem_name": "Passport Stamps",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "K",
      "problem_id": 31959,
      "problem_name": "Shadow Line",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "L",
      "problem_id": 31960,
      "problem_name": "Square of Triangles",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4226,
      "problem_letter": "M",
      "problem_id": 31961,
      "problem_name": "Training, Round 2",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "A",
      "problem_id": 11517,
      "problem_name": "Positive Con Sequences",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "case work"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "B",
      "problem_id": 11514,
      "problem_name": "Refract Facts",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "binary search",
        "physics"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "physics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "physics",
          "name": "physics",
          "boj_tag_id": 116
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "C",
      "problem_id": 11519,
      "problem_name": "Hounded by Indecision",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "D",
      "problem_id": 32010,
      "problem_name": "Avoiding an Arrrgument",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "bruteforcing",
        "greedy",
        "implementation"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "E",
      "problem_id": 11513,
      "problem_name": "Kinfolk",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "case work",
        "implementation",
        "lowest common ancestor",
        "tree"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "lca",
        "trees"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "F",
      "problem_id": 32011,
      "problem_name": "Of the Children",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "binary search"
      ],
      "tag_keys": [
        "dp",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "G",
      "problem_id": 32012,
      "problem_name": "Talking About Numbers",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "case work",
        "implementation"
      ],
      "tag_keys": [
        "case_work",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4244,
      "problem_letter": "H",
      "problem_id": 32013,
      "problem_name": "The Scheming Gardener",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4245,
      "problem_letter": "A",
      "problem_id": 13748,
      "problem_name": "Periodic Strings",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4245,
      "problem_letter": "B",
      "problem_id": 13736,
      "problem_name": "Around and Around We Go",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4245,
      "problem_letter": "C",
      "problem_id": 13734,
      "problem_name": "Buggy Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 4245,
      "problem_letter": "D",
      "problem_id": 13743,
      "problem_name": "Enclosure",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4245,
      "problem_letter": "E",
      "problem_id": 13735,
      "problem_name": "Construction Toy",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4245,
      "problem_letter": "F",
      "problem_id": 13746,
      "problem_name": "Islands",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 4245,
      "problem_letter": "G",
      "problem_id": 13738,
      "problem_name": "Ghostbusters 2",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "binary search",
        "parametric search",
        "strongly connected component",
        "2-sat"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "parametric_search",
        "scc",
        "2_sat"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        },
        {
          "key": "2_sat",
          "name": "2-sat",
          "boj_tag_id": 1
        }
      ]
    },
    {
      "contest_id": 4245,
      "problem_letter": "H",
      "problem_id": 32014,
      "problem_name": "Painting the Floodwall",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "binary search",
        "value / coordinate compression",
        "dynamic programming"
      ],
      "tag_keys": [
        "binary_search",
        "coordinate_compression",
        "dp"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "A",
      "problem_id": 15121,
      "problem_name": "Star Arrangements",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "B",
      "problem_id": 15110,
      "problem_name": "Security Badge",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "sweeping"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "C",
      "problem_id": 15119,
      "problem_name": "Purple Rain",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "D",
      "problem_id": 15111,
      "problem_name": "Avoiding Airports",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "convex hull trick",
        "dynamic programming"
      ],
      "tag_keys": [
        "cht",
        "dp"
      ],
      "tag_details": [
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "E",
      "problem_id": 15107,
      "problem_name": "Rainbow Roads",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "euler tour technique"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "euler_tour_technique"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "F",
      "problem_id": 15114,
      "problem_name": "Spinning Up Palindromes",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "G",
      "problem_id": 15112,
      "problem_name": "Long Long Strings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4246,
      "problem_letter": "H",
      "problem_id": 32015,
      "problem_name": "Haiku Formatting",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "case work",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "case_work",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "A",
      "problem_id": 32016,
      "problem_name": "Lost is Close to Lose",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "parsing",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "parsing",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "B",
      "problem_id": 32017,
      "problem_name": "Orphan Backups",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4247,
      "problem_letter": "C",
      "problem_id": 32018,
      "problem_name": "Collusion on Two Wheels",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "sweeping",
        "parametric search"
      ],
      "tag_keys": [
        "sweeping",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "D",
      "problem_id": 32019,
      "problem_name": "Find Poly",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "depth-first search",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "E",
      "problem_id": 32020,
      "problem_name": "Neutral Ground",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow",
        "max-flow min-cut theorem"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "mfmc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "F",
      "problem_id": 32021,
      "problem_name": "Picking Up the Dice",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "knapsack",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "knapsack",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "G",
      "problem_id": 32022,
      "problem_name": "Playing the Slots",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4247,
      "problem_letter": "H",
      "problem_id": 32023,
      "problem_name": "Tightly Packed",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4248,
      "problem_letter": "1",
      "problem_id": 32017,
      "problem_name": "Orphan Backups",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4248,
      "problem_letter": "11",
      "problem_id": 32021,
      "problem_name": "Picking Up the Dice",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "knapsack",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "knapsack",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4248,
      "problem_letter": "2",
      "problem_id": 32016,
      "problem_name": "Lost is Close to Lose",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "set / map by hashing",
        "implementation",
        "parsing",
        "string",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "hash_set",
        "implementation",
        "parsing",
        "string",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4248,
      "problem_letter": "3",
      "problem_id": 32018,
      "problem_name": "Collusion on Two Wheels",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "sweeping",
        "parametric search"
      ],
      "tag_keys": [
        "sweeping",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4248,
      "problem_letter": "5",
      "problem_id": 32022,
      "problem_name": "Playing the Slots",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4248,
      "problem_letter": "7",
      "problem_id": 32019,
      "problem_name": "Find Poly",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "depth-first search",
        "disjoint set",
        "graph theory",
        "graph traversal",
        "parsing",
        "string"
      ],
      "tag_keys": [
        "data_structures",
        "dfs",
        "disjoint_set",
        "graphs",
        "graph_traversal",
        "parsing",
        "string"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "A",
      "problem_id": 32046,
      "problem_name": "Snacks within 300 Yen",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "B",
      "problem_id": 32047,
      "problem_name": "Overtaking",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "C",
      "problem_id": 32048,
      "problem_name": "Honeycomb Distance",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "case work"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bfs",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "D",
      "problem_id": 32049,
      "problem_name": "A Bug That's Not a Pill Bug",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "E",
      "problem_id": 32050,
      "problem_name": "Colorful Residential Area",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "F",
      "problem_id": 32051,
      "problem_name": "Billiards",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "data structures",
        "binary search",
        "set / map",
        "simulation",
        "case work",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "binary_search",
        "set",
        "simulation",
        "case_work",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "G",
      "problem_id": 32052,
      "problem_name": "Two Sets of Cards",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "constructive",
        "case work",
        "knapsack"
      ],
      "tag_keys": [
        "constructive",
        "case_work",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "H",
      "problem_id": 32053,
      "problem_name": "Blocking the Way",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 4253,
      "problem_letter": "I",
      "problem_id": 32054,
      "problem_name": "All Survived?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4254,
      "problem_letter": "A",
      "problem_id": 32055,
      "problem_name": "Storing Eggs",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "geometry",
        "binary search",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "geometry",
        "binary_search",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "B",
      "problem_id": 32056,
      "problem_name": "Magical Barrier",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "C",
      "problem_id": 32057,
      "problem_name": "Nightmare Brother",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "D",
      "problem_id": 32058,
      "problem_name": "City Hall",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "graph theory",
        "segment tree",
        "shortest path",
        "dijkstra's",
        "convex hull trick",
        "li–chao tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "segtree",
        "shortest_path",
        "dijkstra",
        "cht",
        "li_chao_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "E",
      "problem_id": 32059,
      "problem_name": "Substring Sort",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "hashing"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "F",
      "problem_id": 32060,
      "problem_name": "Doubled GCD",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "data structures",
        "greedy",
        "number theory",
        "priority queue"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "greedy",
        "number_theory",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "G",
      "problem_id": 32061,
      "problem_name": "The Only Mode",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "divide and conquer",
        "multidimensional segment tree",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "divide_and_conquer",
        "multi_segtree",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "multi_segtree",
          "name": "multidimensional segment tree",
          "boj_tag_id": 166
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "H",
      "problem_id": 32062,
      "problem_name": "Grid Game",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "I",
      "problem_id": 32063,
      "problem_name": "Contingency Plan",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "J",
      "problem_id": 32064,
      "problem_name": "Sharing Bread",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "combinatorics",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "K",
      "problem_id": 32065,
      "problem_name": "Short Function",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "L",
      "problem_id": 32066,
      "problem_name": "Increase the Toll Fees",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "graph theory",
        "tree",
        "disjoint set",
        "minimum spanning tree",
        "lowest common ancestor",
        "sparse table"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "trees",
        "disjoint_set",
        "mst",
        "lca",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "M",
      "problem_id": 32067,
      "problem_name": "Game Show",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "PA",
      "problem_id": 26849,
      "problem_name": "Non Classical Problem",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "PB",
      "problem_id": 26853,
      "problem_name": "Uniform Maker",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "PC",
      "problem_id": 26862,
      "problem_name": "Maxdifficent Group",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4254,
      "problem_letter": "PD",
      "problem_id": 26857,
      "problem_name": "Cell Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive",
        "dynamic programming",
        "game theory",
        "knapsack"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "dp",
        "game_theory",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "A",
      "problem_id": 32076,
      "problem_name": "Easy as ABC",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "B",
      "problem_id": 32077,
      "problem_name": "Button Pressing",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc",
        "prefix sum",
        "finding invariants"
      ],
      "tag_keys": [
        "ad_hoc",
        "prefix_sum",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "C",
      "problem_id": 32078,
      "problem_name": "Cursed Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive",
        "randomization"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "D",
      "problem_id": 32079,
      "problem_name": "Spaceship Exploration",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "binary search",
        "convex hull",
        "line segment intersection check",
        "point in convex polygon check"
      ],
      "tag_keys": [
        "geometry",
        "binary_search",
        "convex_hull",
        "line_intersection",
        "point_in_convex_polygon"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "point_in_convex_polygon",
          "name": "point in convex polygon check",
          "boj_tag_id": 56
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "E",
      "problem_id": 32080,
      "problem_name": "Merge Not Sort",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "F",
      "problem_id": 32081,
      "problem_name": "Maximize The Value",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping",
        "offline queries"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "G",
      "problem_id": 32082,
      "problem_name": "Grid Game 2",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "euclidean algorithm",
        "game theory",
        "mathematics",
        "number theory",
        "prefix sum",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "euclidean",
        "game_theory",
        "math",
        "number_theory",
        "prefix_sum",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "H",
      "problem_id": 32083,
      "problem_name": "Twin Friends",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "prefix sum",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "prefix_sum",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "I",
      "problem_id": 32084,
      "problem_name": "Contingency Plan 2",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bipartite matching",
        "directed acyclic graph",
        "data structures",
        "disjoint set",
        "graph theory",
        "topological sorting"
      ],
      "tag_keys": [
        "bipartite_matching",
        "dag",
        "data_structures",
        "disjoint_set",
        "graphs",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "J",
      "problem_id": 32085,
      "problem_name": "Count BFS Graph",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "K",
      "problem_id": 32086,
      "problem_name": "Deck-Building Game",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "divide and conquer",
        "dynamic programming",
        "sum over subsets dynamic programming",
        "fast fourier transform",
        "mathematics"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "dp",
        "dp_sum_over_subsets",
        "fft",
        "math"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "L",
      "problem_id": 32087,
      "problem_name": "Palindromic Parentheses",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "M",
      "problem_id": 32088,
      "problem_name": "Triangle Construction",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "PA",
      "problem_id": 26849,
      "problem_name": "Non Classical Problem",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "PB",
      "problem_id": 32067,
      "problem_name": "Game Show",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "PC",
      "problem_id": 32075,
      "problem_name": "Organizing Party",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "binary search",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "binary_search",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4255,
      "problem_letter": "PD",
      "problem_id": 32063,
      "problem_name": "Contingency Plan",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "A",
      "problem_id": 32420,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4292,
      "problem_letter": "B",
      "problem_id": 32421,
      "problem_name": "Bingo for the Win!",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "C",
      "problem_id": 32422,
      "problem_name": "Citizenship",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "prefix sum"
      ],
      "tag_keys": [
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "D",
      "problem_id": 32423,
      "problem_name": "Doubles Horseback Wrestling",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "sweeping"
      ],
      "tag_keys": [
        "greedy",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "E",
      "problem_id": 32424,
      "problem_name": "Flipping Container",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "bruteforcing",
        "case work",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "bruteforcing",
        "case_work",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "F",
      "problem_id": 32425,
      "problem_name": "Friendly Rivalry",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search",
        "knapsack",
        "traceback"
      ],
      "tag_keys": [
        "binary_search",
        "knapsack",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "G",
      "problem_id": 32426,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4292,
      "problem_letter": "H",
      "problem_id": 32427,
      "problem_name": "Maxwell’s Demon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4292,
      "problem_letter": "I",
      "problem_id": 32428,
      "problem_name": "Steppe on It",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "tree",
        "binary search"
      ],
      "tag_keys": [
        "greedy",
        "trees",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "J",
      "problem_id": 32429,
      "problem_name": "The Silk Road . . . with Robots!",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "K",
      "problem_id": 32430,
      "problem_name": "Tower of noiHa",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "implementation",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4292,
      "problem_letter": "L",
      "problem_id": 32431,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4298,
      "problem_letter": "A",
      "problem_id": 32432,
      "problem_name": "Attention to the Meeting",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "B",
      "problem_id": 32433,
      "problem_name": "Bacon Number",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "ad-hoc",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "ad_hoc",
        "bfs",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "C",
      "problem_id": 32434,
      "problem_name": "Couple of BipBop",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "stack",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "data_structures",
        "stack",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "D",
      "problem_id": 32435,
      "problem_name": "Decrease the Boss Strength",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "exponentiation by squaring",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "exponentiation_by_squaring",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "E",
      "problem_id": 32436,
      "problem_name": "Enigma of the Jewelry Case",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "F",
      "problem_id": 32437,
      "problem_name": "Fractions are better when continued",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "G",
      "problem_id": 32438,
      "problem_name": "Geography of Rivers",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "tree",
        "smaller to larger technique",
        "heavy-light decomposition"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "smaller_to_larger",
        "hld"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "hld",
          "name": "heavy-light decomposition",
          "boj_tag_id": 35
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "H",
      "problem_id": 32439,
      "problem_name": "Harmonics with Interference",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "I",
      "problem_id": 32440,
      "problem_name": "Ingredients that may Harm You",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "inclusion and exclusion",
        "mathematics",
        "number theory",
        "primality test",
        "sieve of eratosthenes"
      ],
      "tag_keys": [
        "inclusion_and_exclusion",
        "math",
        "number_theory",
        "primality_test",
        "sieve"
      ],
      "tag_details": [
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "J",
      "problem_id": 32441,
      "problem_name": "Journey through Colors",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "constructive",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "constructive",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "K",
      "problem_id": 32442,
      "problem_name": "Karamell",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4298,
      "problem_letter": "L",
      "problem_id": 32443,
      "problem_name": "Lecographically Maximum",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "A",
      "problem_id": 32449,
      "problem_name": "Animal Farm",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "B",
      "problem_id": 32450,
      "problem_name": "Business Magic",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "C",
      "problem_id": 32451,
      "problem_name": "Cards",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "segment tree",
        "constructive"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "segtree",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "D",
      "problem_id": 32452,
      "problem_name": "Disbursement on Quarantine Policy",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory",
        "probability theory",
        "modular multiplicative inverse",
        "linearity of expectation",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "probability",
        "modular_multiplicative_inverse",
        "linearity_of_expectation",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "E",
      "problem_id": 32453,
      "problem_name": "Effcient Slabstones Rearrangement",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "F",
      "problem_id": 32454,
      "problem_name": "Fibonacci Lucky Numbers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "number theory",
        "exponentiation by squaring",
        "euler totient function",
        "pisano period"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "exponentiation_by_squaring",
        "euler_phi",
        "pisano"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        },
        {
          "key": "pisano",
          "name": "pisano period",
          "boj_tag_id": 232
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "G",
      "problem_id": 32455,
      "problem_name": "Game of Rounding",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "convex hull trick",
        "li–chao tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "cht",
        "li_chao_tree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "H",
      "problem_id": 32456,
      "problem_name": "Harmonious Passage of Magicians",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "I",
      "problem_id": 32457,
      "problem_name": "In Search of the Lost Array",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "J",
      "problem_id": 32458,
      "problem_name": "Just Round Down",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "K",
      "problem_id": 32459,
      "problem_name": "Kingdom’s Development Plan",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "priority queue",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "priority_queue",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4303,
      "problem_letter": "L",
      "problem_id": 32460,
      "problem_name": "Lexicopolis",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "value / coordinate compression",
        "exponentiation by squaring",
        "graph theory",
        "hashing",
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "binary_search",
        "coordinate_compression",
        "exponentiation_by_squaring",
        "graphs",
        "hashing",
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "A",
      "problem_id": 32477,
      "problem_name": "Alien Attack 2",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "breadth-first search",
        "depth-first search",
        "disjoint set"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "bfs",
        "dfs",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "B",
      "problem_id": 32478,
      "problem_name": "Bookshelf Bottleneck",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "C",
      "problem_id": 32479,
      "problem_name": "Copycat Catcher",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "string",
        "hashing"
      ],
      "tag_keys": [
        "string",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "D",
      "problem_id": 32480,
      "problem_name": "Dark Alley",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "E",
      "problem_id": 32481,
      "problem_name": "Even Odd Game",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "dynamic programming",
        "game theory"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "F",
      "problem_id": 32482,
      "problem_name": "Fair Fruitcake Fragmenting",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "geometry",
        "case work",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "case_work",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "G",
      "problem_id": 32483,
      "problem_name": "Geometric Gridlock",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "H",
      "problem_id": 32484,
      "problem_name": "Headline Heat",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "string",
        "tree",
        "randomization",
        "trie",
        "aho-corasick"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "trees",
        "randomization",
        "trie",
        "aho_corasick"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        },
        {
          "key": "aho_corasick",
          "name": "aho-corasick",
          "boj_tag_id": 2
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "I",
      "problem_id": 32485,
      "problem_name": "Interference",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "J",
      "problem_id": 32486,
      "problem_name": "Jigsaw Present",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing",
        "meet in the middle"
      ],
      "tag_keys": [
        "bruteforcing",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "K",
      "problem_id": 32487,
      "problem_name": "Kitten of Chaos",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "L",
      "problem_id": 32488,
      "problem_name": "Laundry",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4304,
      "problem_letter": "M",
      "problem_id": 32489,
      "problem_name": "Musical Mending",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "sorting",
        "ternary search"
      ],
      "tag_keys": [
        "sorting",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "A",
      "problem_id": 32496,
      "problem_name": "Balatro",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "divide and conquer",
        "divide and conquer optimization",
        "dynamic programming",
        "prefix sum",
        "sorting"
      ],
      "tag_keys": [
        "divide_and_conquer",
        "divide_and_conquer_optimization",
        "dp",
        "prefix_sum",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "B",
      "problem_id": 32497,
      "problem_name": "Bikes and Barricades",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "C",
      "problem_id": 32498,
      "problem_name": "Call for Problems",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "D",
      "problem_id": 32499,
      "problem_name": "Colorful Trees",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "E",
      "problem_id": 32500,
      "problem_name": "Dishonest Lottery",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "F",
      "problem_id": 32501,
      "problem_name": "Ellipse Eclipse",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "geometry",
        "binary search",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "G",
      "problem_id": 32502,
      "problem_name": "Gears and Axles",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "H",
      "problem_id": 32503,
      "problem_name": "Genetic Reconstruction",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "bruteforcing",
        "data structures",
        "disjoint set",
        "greedy"
      ],
      "tag_keys": [
        "bruteforcing",
        "data_structures",
        "disjoint_set",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "I",
      "problem_id": 32504,
      "problem_name": "Light Up",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "simulation",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "simulation",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "J",
      "problem_id": 32505,
      "problem_name": "Menger Sponge",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "mathematics",
        "recursion"
      ],
      "tag_keys": [
        "implementation",
        "math",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "K",
      "problem_id": 32506,
      "problem_name": "Rhythm Flow",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4310,
      "problem_letter": "L",
      "problem_id": 32507,
      "problem_name": "Snake",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "backtracking",
        "depth-first search",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "backtracking",
        "dfs",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "A",
      "problem_id": 32537,
      "problem_name": "Awkward Auction",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "B",
      "problem_id": 32538,
      "problem_name": "Battle of Nieuwpoort",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "C",
      "problem_id": 32539,
      "problem_name": "Chaotic Cables",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "bitmask",
        "graph theory"
      ],
      "tag_keys": [
        "bitmask",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "D",
      "problem_id": 32540,
      "problem_name": "Dialling Digits",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "E",
      "problem_id": 32541,
      "problem_name": "Expected Error",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "F",
      "problem_id": 32542,
      "problem_name": "Fractal Area",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "geometry",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "G",
      "problem_id": 32543,
      "problem_name": "Giganotosaurus Game",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "H",
      "problem_id": 32544,
      "problem_name": "Human Pyramid",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "I",
      "problem_id": 32545,
      "problem_name": "Investment Investigation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "data structures",
        "segment tree",
        "set / map",
        "simulation",
        "priority queue",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "segtree",
        "set",
        "simulation",
        "priority_queue",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "J",
      "problem_id": 32546,
      "problem_name": "Joppiesaus Jailbreak",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "K",
      "problem_id": 32547,
      "problem_name": "Kitchens of Königsberg",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "bruteforcing",
        "backtracking",
        "randomization"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "backtracking",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 4313,
      "problem_letter": "L",
      "problem_id": 32548,
      "problem_name": "Lawful Limits",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "A",
      "problem_id": 32549,
      "problem_name": "Avoiding the Abyss",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "B",
      "problem_id": 32550,
      "problem_name": "Baseball Court",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "combinatorics",
        "dynamic programming",
        "inclusion and exclusion",
        "mathematics"
      ],
      "tag_keys": [
        "combinatorics",
        "dp",
        "inclusion_and_exclusion",
        "math"
      ],
      "tag_details": [
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "C",
      "problem_id": 32551,
      "problem_name": "Composed Rhythms",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "D",
      "problem_id": 32552,
      "problem_name": "Double Deck",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "E",
      "problem_id": 32553,
      "problem_name": "Elapid Errands",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "constructive",
        "graph theory",
        "graph traversal",
        "implementation"
      ],
      "tag_keys": [
        "constructive",
        "graphs",
        "graph_traversal",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "F",
      "problem_id": 32554,
      "problem_name": "Fence Fee",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "graph theory",
        "geometry",
        "planar graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "geometry",
        "planar_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "G",
      "problem_id": 32555,
      "problem_name": "Guessing Passwords",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bipartite matching",
        "hall's theorem"
      ],
      "tag_keys": [
        "bipartite_matching",
        "hall"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "H",
      "problem_id": 32556,
      "problem_name": "Hotfix",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4314,
      "problem_letter": "I",
      "problem_id": 32557,
      "problem_name": "Infinite Cash",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "J",
      "problem_id": 32558,
      "problem_name": "Jungle Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive",
        "parity"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "parity"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4314,
      "problem_letter": "K",
      "problem_id": 32559,
      "problem_name": "Knitting Pattern",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "A",
      "problem_id": 32560,
      "problem_name": "Amalgram",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "B",
      "problem_id": 32561,
      "problem_name": "Budget Analysis",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "C",
      "problem_id": 32562,
      "problem_name": "Cross Country",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4316,
      "problem_letter": "D",
      "problem_id": 32563,
      "problem_name": "Drone Control",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "ternary search"
      ],
      "tag_keys": [
        "math",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "E",
      "problem_id": 32564,
      "problem_name": "Eradication Sort",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "convex hull trick",
        "li–chao tree",
        "kinetic segment tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "cht",
        "li_chao_tree",
        "kinetic_segtree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        },
        {
          "key": "kinetic_segtree",
          "name": "kinetic segment tree",
          "boj_tag_id": 228
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "F",
      "problem_id": 32565,
      "problem_name": "Finding Suspicious Proteins",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "G",
      "problem_id": 32566,
      "problem_name": "Word Search",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "string",
        "hashing"
      ],
      "tag_keys": [
        "string",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "H",
      "problem_id": 32567,
      "problem_name": "Hedge Topiary",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "geometry",
        "point in non-convex polygon check",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "point_in_non_convex_polygon",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "point_in_non_convex_polygon",
          "name": "point in non-convex polygon check",
          "boj_tag_id": 57
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "I",
      "problem_id": 32568,
      "problem_name": "Inconsistent Patterns",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive",
        "statistics"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "J",
      "problem_id": 32569,
      "problem_name": "Jabber Network",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees",
        "rerooting on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree",
        "rerooting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "rerooting",
          "name": "rerooting on trees",
          "boj_tag_id": 233
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "K",
      "problem_id": 32570,
      "problem_name": "Knitting",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "data structures",
        "priority queue"
      ],
      "tag_keys": [
        "ad_hoc",
        "data_structures",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4316,
      "problem_letter": "L",
      "problem_id": 32571,
      "problem_name": "Leg Day",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "F",
      "problem_id": 32572,
      "problem_name": "Flag Bearer",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "C",
      "problem_id": 32573,
      "problem_name": "Cowpproximation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "heuristics",
        "minimum enclosing circle",
        "gradient descent"
      ],
      "tag_keys": [
        "geometry",
        "heuristics",
        "min_enclosing_circle",
        "gradient_descent"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        },
        {
          "key": "min_enclosing_circle",
          "name": "minimum enclosing circle",
          "boj_tag_id": 162
        },
        {
          "key": "gradient_descent",
          "name": "gradient descent",
          "boj_tag_id": 208
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "R",
      "problem_id": 32574,
      "problem_name": "Reptile Eggs",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "regular expression",
        "string",
        "sweeping"
      ],
      "tag_keys": [
        "dp",
        "regex",
        "string",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "regex",
          "name": "regular expression",
          "boj_tag_id": 63
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "F",
      "problem_id": 32575,
      "problem_name": "Fishception",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "geometry",
        "sorting"
      ],
      "tag_keys": [
        "geometry",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "P",
      "problem_id": 32576,
      "problem_name": "Pigpartite Giraffe",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "breadth-first search",
        "bipartite graph",
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "bfs",
        "bipartite_graph",
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "H",
      "problem_id": 32577,
      "problem_name": "Hamster",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "parity"
      ],
      "tag_keys": [
        "ad_hoc",
        "parity"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "P",
      "problem_id": 32578,
      "problem_name": "Pray Mink",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "backtracking",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "backtracking",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "O",
      "problem_id": 32579,
      "problem_name": "Ornithology",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "P",
      "problem_id": 32580,
      "problem_name": "P||k Cutting",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "two-pointer"
      ],
      "tag_keys": [
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "R",
      "problem_id": 32581,
      "problem_name": "Rabid Rabbit",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "set / map"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "set"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "F",
      "problem_id": 32582,
      "problem_name": "Fellow Sheep",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 4317,
      "problem_letter": "W",
      "problem_id": 32583,
      "problem_name": "Watchdogs",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "data structures",
        "tree",
        "dynamic programming on trees",
        "lowest common ancestor",
        "sparse table"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "trees",
        "dp_tree",
        "lca",
        "sparse_table"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "A",
      "problem_id": 32595,
      "problem_name": "“Aaawww...” or “Aaayyy!!!”",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "B",
      "problem_id": 32596,
      "problem_name": "Buggy Blinkers",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "C",
      "problem_id": 32597,
      "problem_name": "Concurrent Contests",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "D",
      "problem_id": 32598,
      "problem_name": "Disgruntled Diner",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "E",
      "problem_id": 32599,
      "problem_name": "Extraterrestrial Exploration",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "F",
      "problem_id": 32600,
      "problem_name": "Failing Factory",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "graph theory",
        "mathematics",
        "probability theory",
        "strongly connected component"
      ],
      "tag_keys": [
        "graphs",
        "math",
        "probability",
        "scc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "scc",
          "name": "strongly connected component",
          "boj_tag_id": 76
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "G",
      "problem_id": 32601,
      "problem_name": "Grocery Greed",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "mathematics"
      ],
      "tag_keys": [
        "greedy",
        "math"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "H",
      "problem_id": 32602,
      "problem_name": "Horse Habitat",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "data structures",
        "prefix sum",
        "disjoint set",
        "offline queries"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "prefix_sum",
        "disjoint_set",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "I",
      "problem_id": 32603,
      "problem_name": "Interrail Pass",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming",
        "binary search"
      ],
      "tag_keys": [
        "dp",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "J",
      "problem_id": 32604,
      "problem_name": "Jumbled Scoreboards",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "K",
      "problem_id": 32605,
      "problem_name": "Karaoke Compression",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy",
        "string",
        "hashing",
        "rabin–karp"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "string",
        "hashing",
        "rabin_karp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "L",
      "problem_id": 32606,
      "problem_name": "Levelling Locks",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4319,
      "problem_letter": "M",
      "problem_id": 32607,
      "problem_name": "Museum Visit",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "binary search",
        "data structures",
        "deque",
        "deque range maximum trick",
        "dynamic programming",
        "segment tree"
      ],
      "tag_keys": [
        "binary_search",
        "data_structures",
        "deque",
        "deque_trick",
        "dp",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "deque",
          "name": "deque",
          "boj_tag_id": 73
        },
        {
          "key": "deque_trick",
          "name": "deque range maximum trick",
          "boj_tag_id": 216
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "A",
      "problem_id": 32662,
      "problem_name": "Always Know Where Your Towel Is",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "two-pointer",
        "meet in the middle"
      ],
      "tag_keys": [
        "binary_search",
        "two_pointer",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "B",
      "problem_id": 32671,
      "problem_name": "Ardi, The Hungry Aardvark",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4330,
      "problem_letter": "C",
      "problem_id": 32663,
      "problem_name": "Big And",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "D",
      "problem_id": 32667,
      "problem_name": "Enchanted Maze",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "case work",
        "bitmask",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "case_work",
        "bitmask",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "E",
      "problem_id": 32668,
      "problem_name": "Expected Flight Delay",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "F",
      "problem_id": 32670,
      "problem_name": "Guard Evaders",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map by hashing",
        "backtracking",
        "set / map by trees"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "hash_set",
        "backtracking",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "G",
      "problem_id": 32672,
      "problem_name": "jigsawpuzzle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4330,
      "problem_letter": "H",
      "problem_id": 32673,
      "problem_name": "Lego Lover's Triangle",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4330,
      "problem_letter": "I",
      "problem_id": 32674,
      "problem_name": "Palindromic Word Search",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "J",
      "problem_id": 32676,
      "problem_name": "Pillow Stacking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4330,
      "problem_letter": "K",
      "problem_id": 32680,
      "problem_name": "Sauna",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4330,
      "problem_letter": "L",
      "problem_id": 32681,
      "problem_name": "Space Elevator",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4331,
      "problem_letter": "A",
      "problem_id": 32661,
      "problem_name": "Airfare Grants",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "B",
      "problem_id": 32662,
      "problem_name": "Always Know Where Your Towel Is",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "two-pointer",
        "meet in the middle"
      ],
      "tag_keys": [
        "binary_search",
        "two_pointer",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "C",
      "problem_id": 32663,
      "problem_name": "Big And",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "D",
      "problem_id": 32666,
      "problem_name": "Emoticons",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "tree",
        "stack",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "trees",
        "stack",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "E",
      "problem_id": 32667,
      "problem_name": "Enchanted Maze",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "case work",
        "bitmask",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "case_work",
        "bitmask",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "F",
      "problem_id": 32669,
      "problem_name": "Garage Door Code",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "G",
      "problem_id": 32674,
      "problem_name": "Palindromic Word Search",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "H",
      "problem_id": 32676,
      "problem_name": "Pillow Stacking",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4331,
      "problem_letter": "I",
      "problem_id": 32677,
      "problem_name": "Rectangle Tiling",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "J",
      "problem_id": 32678,
      "problem_name": "Rocky Mountain",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "K",
      "problem_id": 32679,
      "problem_name": "Sandwich Art",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4331,
      "problem_letter": "L",
      "problem_id": 32680,
      "problem_name": "Sauna",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4331,
      "problem_letter": "M",
      "problem_id": 32681,
      "problem_name": "Space Elevator",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4332,
      "problem_letter": "A",
      "problem_id": 32661,
      "problem_name": "Airfare Grants",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "B",
      "problem_id": 32662,
      "problem_name": "Always Know Where Your Towel Is",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "binary search",
        "two-pointer",
        "meet in the middle"
      ],
      "tag_keys": [
        "binary_search",
        "two_pointer",
        "mitm"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "mitm",
          "name": "meet in the middle",
          "boj_tag_id": 46
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "C",
      "problem_id": 32663,
      "problem_name": "Big And",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "greedy",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "D",
      "problem_id": 32664,
      "problem_name": "Cascade Centrality",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4332,
      "problem_letter": "E",
      "problem_id": 32665,
      "problem_name": "Connectedness",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "F",
      "problem_id": 32666,
      "problem_name": "Emoticons",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "string",
        "bruteforcing",
        "tree",
        "stack",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "string",
        "bruteforcing",
        "trees",
        "stack",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "G",
      "problem_id": 32667,
      "problem_name": "Enchanted Maze",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "case work",
        "bitmask",
        "grid graph"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "bfs",
        "case_work",
        "bitmask",
        "grid_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "H",
      "problem_id": 32670,
      "problem_name": "Guard Evaders",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map by hashing",
        "backtracking",
        "set / map by trees"
      ],
      "tag_keys": [
        "graphs",
        "data_structures",
        "graph_traversal",
        "hash_set",
        "backtracking",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "I",
      "problem_id": 32674,
      "problem_name": "Palindromic Word Search",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming",
        "bruteforcing"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "J",
      "problem_id": 32675,
      "problem_name": "Pascal Multiple",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "dynamic programming"
      ],
      "tag_keys": [
        "math",
        "dp"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "K",
      "problem_id": 32677,
      "problem_name": "Rectangle Tiling",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "L",
      "problem_id": 32680,
      "problem_name": "Sauna",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "M",
      "problem_id": 32681,
      "problem_name": "Space Elevator",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4332,
      "problem_letter": "N",
      "problem_id": 32683,
      "problem_name": "Up and Down",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "lis"
      ],
      "tag_details": [
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4332,
      "problem_letter": "O",
      "problem_id": 32682,
      "problem_name": "Which Number Kind Is It?",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "A",
      "problem_id": 32787,
      "problem_name": "Auto-Coin-o-Matic",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "offline queries"
      ],
      "tag_keys": [
        "dp",
        "offline_queries"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "B",
      "problem_id": 32788,
      "problem_name": "Big Integers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "C",
      "problem_id": 32789,
      "problem_name": "Champernowne Subsequence",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "D",
      "problem_id": 32790,
      "problem_name": "Connecting Computers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "bruteforcing",
        "sorting",
        "bitmask",
        "articulation points and bridges",
        "cactus"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "sorting",
        "bitmask",
        "articulation",
        "cactus"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "E",
      "problem_id": 32791,
      "problem_name": "Exact Change",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "string",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "F",
      "problem_id": 32792,
      "problem_name": "Free Solo",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "geometry",
        "shortest path",
        "dijkstra's",
        "sweeping"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "geometry",
        "shortest_path",
        "dijkstra",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "G",
      "problem_id": 32793,
      "problem_name": "GCD Pairs",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "set / map",
        "combinatorics",
        "primality test",
        "inclusion and exclusion",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "set",
        "combinatorics",
        "primality_test",
        "inclusion_and_exclusion",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "H",
      "problem_id": 32794,
      "problem_name": "Homework Help",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "dynamic programming"
      ],
      "tag_keys": [
        "ad_hoc",
        "dp"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "I",
      "problem_id": 32795,
      "problem_name": "Intuitive Elements",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "J",
      "problem_id": 32796,
      "problem_name": "Rainbow Bowl Ranges",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "K",
      "problem_id": 32797,
      "problem_name": "Sleeping on the Train",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "L",
      "problem_id": 32798,
      "problem_name": "Training, Round 3",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "fermat's little theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "flt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "flt",
          "name": "fermat's little theorem",
          "boj_tag_id": 29
        }
      ]
    },
    {
      "contest_id": 4339,
      "problem_letter": "M",
      "problem_id": 32799,
      "problem_name": "Word Game",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "backtracking",
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "A",
      "problem_id": 32788,
      "problem_name": "Big Integers",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "string",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "string",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "B",
      "problem_id": 32800,
      "problem_name": "Bus Assignment",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "C",
      "problem_id": 32801,
      "problem_name": "Generalized FizzBuzz",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "D",
      "problem_id": 32795,
      "problem_name": "Intuitive Elements",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "E",
      "problem_id": 32802,
      "problem_name": "Mouse Pursuit",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "F",
      "problem_id": 32803,
      "problem_name": "Ruffians",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "G",
      "problem_id": 32797,
      "problem_name": "Sleeping on the Train",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "H",
      "problem_id": 32789,
      "problem_name": "Champernowne Subsequence",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "bruteforcing",
        "greedy",
        "string"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "I",
      "problem_id": 32791,
      "problem_name": "Exact Change",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "string",
        "bitmask"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "J",
      "problem_id": 32794,
      "problem_name": "Homework Help",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "dynamic programming"
      ],
      "tag_keys": [
        "ad_hoc",
        "dp"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "K",
      "problem_id": 32796,
      "problem_name": "Rainbow Bowl Ranges",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "L",
      "problem_id": 32804,
      "problem_name": "Taking Out the Trash",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4340,
      "problem_letter": "M",
      "problem_id": 32799,
      "problem_name": "Word Game",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "backtracking",
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_keys": [
        "backtracking",
        "bruteforcing",
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "A",
      "problem_id": 32805,
      "problem_name": "A Stack of Gold",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "B",
      "problem_id": 32806,
      "problem_name": "Average Substring Value",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "binary search",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "binary_search",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "C",
      "problem_id": 32807,
      "problem_name": "Balancing Art",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "maximum flow",
        "parametric search",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "parametric_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "D",
      "problem_id": 32808,
      "problem_name": "Brownian Bears",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "E",
      "problem_id": 32809,
      "problem_name": "Fences Make Good Neighbors",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "F",
      "problem_id": 32810,
      "problem_name": "Leapfrog Encryption",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "G",
      "problem_id": 32811,
      "problem_name": "Letter Balloons",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "H",
      "problem_id": 32812,
      "problem_name": "Marching Orders",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "I",
      "problem_id": 32813,
      "problem_name": "Oooh I See",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "J",
      "problem_id": 32814,
      "problem_name": "Pascal Meets Boole",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "K",
      "problem_id": 32815,
      "problem_name": "Pony-less Express",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "hungarian",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "hungarian",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "L",
      "problem_id": 32816,
      "problem_name": "Repetitive Routes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 4341,
      "problem_letter": "M",
      "problem_id": 32817,
      "problem_name": "Smart Password Validation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4342,
      "problem_letter": "A",
      "problem_id": 32805,
      "problem_name": "A Stack of Gold",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "B",
      "problem_id": 32806,
      "problem_name": "Average Substring Value",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "binary search",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "binary_search",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "C",
      "problem_id": 32807,
      "problem_name": "Balancing Art",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "maximum flow",
        "parametric search",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "parametric_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "D",
      "problem_id": 32808,
      "problem_name": "Brownian Bears",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "E",
      "problem_id": 32809,
      "problem_name": "Fences Make Good Neighbors",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "F",
      "problem_id": 32810,
      "problem_name": "Leapfrog Encryption",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "G",
      "problem_id": 32811,
      "problem_name": "Letter Balloons",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "H",
      "problem_id": 32812,
      "problem_name": "Marching Orders",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "I",
      "problem_id": 32813,
      "problem_name": "Oooh I See",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "J",
      "problem_id": 32814,
      "problem_name": "Pascal Meets Boole",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "K",
      "problem_id": 32815,
      "problem_name": "Pony-less Express",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "hungarian",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "hungarian",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "L",
      "problem_id": 32816,
      "problem_name": "Repetitive Routes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 4342,
      "problem_letter": "M",
      "problem_id": 32817,
      "problem_name": "Smart Password Validation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4343,
      "problem_letter": "A",
      "problem_id": 32805,
      "problem_name": "A Stack of Gold",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "B",
      "problem_id": 32806,
      "problem_name": "Average Substring Value",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "number theory",
        "binary search",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "dp",
        "number_theory",
        "binary_search",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "C",
      "problem_id": 32807,
      "problem_name": "Balancing Art",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "maximum flow",
        "parametric search",
        "graph theory"
      ],
      "tag_keys": [
        "flow",
        "parametric_search",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "D",
      "problem_id": 32808,
      "problem_name": "Brownian Bears",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "E",
      "problem_id": 32809,
      "problem_name": "Fences Make Good Neighbors",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "geometry"
      ],
      "tag_keys": [
        "dp",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "F",
      "problem_id": 32810,
      "problem_name": "Leapfrog Encryption",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "G",
      "problem_id": 32811,
      "problem_name": "Letter Balloons",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "string",
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "H",
      "problem_id": 32812,
      "problem_name": "Marching Orders",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory",
        "chinese remainder theorem"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "crt"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "crt",
          "name": "chinese remainder theorem",
          "boj_tag_id": 19
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "I",
      "problem_id": 32813,
      "problem_name": "Oooh I See",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "J",
      "problem_id": 32814,
      "problem_name": "Pascal Meets Boole",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "K",
      "problem_id": 32815,
      "problem_name": "Pony-less Express",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "dynamic programming on trees",
        "hungarian",
        "tree"
      ],
      "tag_keys": [
        "dp",
        "dp_tree",
        "hungarian",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "hungarian",
          "name": "hungarian",
          "boj_tag_id": 36
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "L",
      "problem_id": 32816,
      "problem_name": "Repetitive Routes",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "segment tree",
        "set / map",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "set",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 4343,
      "problem_letter": "M",
      "problem_id": 32817,
      "problem_name": "Smart Password Validation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4344,
      "problem_letter": "A",
      "problem_id": 32818,
      "problem_name": "Cleaning Robot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "simulation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "B",
      "problem_id": 32819,
      "problem_name": "Complexity Measure",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4344,
      "problem_letter": "C",
      "problem_id": 32820,
      "problem_name": "Covers",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "graph theory",
        "string",
        "shortest path",
        "dijkstra's",
        "knuth–morris–pratt",
        "z"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "string",
        "shortest_path",
        "dijkstra",
        "kmp",
        "z"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "kmp",
          "name": "knuth–morris–pratt",
          "boj_tag_id": 40
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "D",
      "problem_id": 32821,
      "problem_name": "Diagonal Flipping",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "graph traversal",
        "depth-first search",
        "disjoint set",
        "bipartite graph"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "graph_traversal",
        "dfs",
        "disjoint_set",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "E",
      "problem_id": 32822,
      "problem_name": "행렬 게임",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "F",
      "problem_id": 32823,
      "problem_name": "채굴권 분할",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "geometry",
        "line segment intersection check"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "G",
      "problem_id": 32824,
      "problem_name": "New Megacity",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "graph theory",
        "disjoint set",
        "minimum spanning tree",
        "articulation points and bridges"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "disjoint_set",
        "mst",
        "articulation"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "articulation",
          "name": "articulation points and bridges",
          "boj_tag_id": 4
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "H",
      "problem_id": 32825,
      "problem_name": "숫자 할당",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_keys": [
        "bruteforcing",
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "I",
      "problem_id": 32826,
      "problem_name": "Polygon Discovery",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "ad-hoc",
        "geometry",
        "binary search",
        "heuristics"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry",
        "binary_search",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "J",
      "problem_id": 32827,
      "problem_name": "Two Rings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4344,
      "problem_letter": "K",
      "problem_id": 32828,
      "problem_name": "WEB Machine",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "A",
      "problem_id": 32829,
      "problem_name": "Bottles",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "sorting",
        "simulation",
        "prefix sum",
        "sweeping"
      ],
      "tag_keys": [
        "implementation",
        "sorting",
        "simulation",
        "prefix_sum",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "B",
      "problem_id": 32830,
      "problem_name": "Cards Flipping",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "C",
      "problem_id": 32831,
      "problem_name": "Colorful Quadrants",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bruteforcing",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "bruteforcing",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "D",
      "problem_id": 32832,
      "problem_name": "Ladder Update",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "data structures",
        "offline queries",
        "segment tree",
        "splay tree",
        "tree"
      ],
      "tag_keys": [
        "data_structures",
        "offline_queries",
        "segtree",
        "splay_tree",
        "trees"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "splay_tree",
          "name": "splay tree",
          "boj_tag_id": 69
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "E",
      "problem_id": 32833,
      "problem_name": "Mausoleum",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "F",
      "problem_id": 32834,
      "problem_name": "Pair Sorting",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "G",
      "problem_id": 32835,
      "problem_name": "Palindromic Length",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "dynamic programming",
        "string",
        "tree",
        "dynamic programming on trees",
        "palindrome tree"
      ],
      "tag_keys": [
        "dp",
        "string",
        "trees",
        "dp_tree",
        "palindrome_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "palindrome_tree",
          "name": "palindrome tree",
          "boj_tag_id": 53
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "H",
      "problem_id": 32836,
      "problem_name": "Protecting Kingdom",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees",
        "divide and conquer",
        "two-pointer",
        "centroid",
        "centroid decomposition"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree",
        "divide_and_conquer",
        "two_pointer",
        "centroid",
        "centroid_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        },
        {
          "key": "centroid_decomposition",
          "name": "centroid decomposition",
          "boj_tag_id": 18
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "I",
      "problem_id": 32837,
      "problem_name": "Square Stamping",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "sorting",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "dp",
        "sorting",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "J",
      "problem_id": 32838,
      "problem_name": "Street Development",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "greedy",
        "binary search",
        "simulation",
        "parametric search"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "binary_search",
        "simulation",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "K",
      "problem_id": 32839,
      "problem_name": "String Rank",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4348,
      "problem_letter": "L",
      "problem_id": 32840,
      "problem_name": "Triangle",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "geometry",
        "number theory",
        "euclidean algorithm",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "number_theory",
        "euclidean",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "A",
      "problem_id": 32841,
      "problem_name": "Welcome Sign",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "B",
      "problem_id": 32842,
      "problem_name": "Triangles of a Square",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "C",
      "problem_id": 32843,
      "problem_name": "City Bike",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "D",
      "problem_id": 32844,
      "problem_name": "Duel of Cards",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "E",
      "problem_id": 32845,
      "problem_name": "Elevated Rails",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "F",
      "problem_id": 32846,
      "problem_name": "Finding Keys",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "G",
      "problem_id": 32847,
      "problem_name": "Intergalactic Team",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "H",
      "problem_id": 32848,
      "problem_name": "Herb Mixing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "I",
      "problem_id": 32849,
      "problem_name": "Island Memories",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "J",
      "problem_id": 32850,
      "problem_name": "Perfect Squares",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "K",
      "problem_id": 32851,
      "problem_name": "Optimized Cheating",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "arithmetic",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "arithmetic",
        "bfs",
        "graphs",
        "graph_traversal",
        "math",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "L",
      "problem_id": 32852,
      "problem_name": "Pianissimo",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4349,
      "problem_letter": "M",
      "problem_id": 32853,
      "problem_name": "Virtual Reality Playspace",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "A",
      "problem_id": 32841,
      "problem_name": "Welcome Sign",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "B",
      "problem_id": 32842,
      "problem_name": "Triangles of a Square",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "C",
      "problem_id": 32854,
      "problem_name": "Traffic Lights",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "D",
      "problem_id": 32844,
      "problem_name": "Duel of Cards",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "E",
      "problem_id": 32855,
      "problem_name": "Which One is Larger",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "F",
      "problem_id": 32856,
      "problem_name": "Office Building",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "G",
      "problem_id": 32847,
      "problem_name": "Intergalactic Team",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "H",
      "problem_id": 32848,
      "problem_name": "Herb Mixing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "I",
      "problem_id": 32849,
      "problem_name": "Island Memories",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "J",
      "problem_id": 32850,
      "problem_name": "Perfect Squares",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "K",
      "problem_id": 32851,
      "problem_name": "Optimized Cheating",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "arithmetic",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "arithmetic",
        "bfs",
        "graphs",
        "graph_traversal",
        "math",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "L",
      "problem_id": 32852,
      "problem_name": "Pianissimo",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4350,
      "problem_letter": "M",
      "problem_id": 32857,
      "problem_name": "Memories of Passport Stamps",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "A",
      "problem_id": 32889,
      "problem_name": "Alphabetical Aristocrats",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "sorting"
      ],
      "tag_keys": [
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "B",
      "problem_id": 32890,
      "problem_name": "Binary Search",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "graph theory",
        "ad-hoc",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "ad_hoc",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "C",
      "problem_id": 32891,
      "problem_name": "Connect Five",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bruteforcing",
        "ad-hoc",
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc",
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "D",
      "problem_id": 32892,
      "problem_name": "Dutch Democracy",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "sorting",
        "knapsack"
      ],
      "tag_keys": [
        "sorting",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "E",
      "problem_id": 32893,
      "problem_name": "Evolving Etymology",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "F",
      "problem_id": 32894,
      "problem_name": "Flowing Fountain",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "data structures",
        "simulation",
        "disjoint set",
        "stack"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "simulation",
        "disjoint_set",
        "stack"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "G",
      "problem_id": 32895,
      "problem_name": "Glued Grid",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "breadth-first search",
        "grid graph",
        "parity",
        "biconnected component",
        "finding invariants"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "bfs",
        "grid_graph",
        "parity",
        "bcc",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        },
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "H",
      "problem_id": 32896,
      "problem_name": "Hash Collision",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "ad-hoc",
        "functional graph"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "functional_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "functional_graph",
          "name": "functional graph",
          "boj_tag_id": 211
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "I",
      "problem_id": 32897,
      "problem_name": "It’s a Kind of Magic",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive",
        "prefix sum",
        "primality test",
        "precomputation",
        "sieve of eratosthenes",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive",
        "prefix_sum",
        "primality_test",
        "precomputation",
        "sieve",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "sieve",
          "name": "sieve of eratosthenes",
          "boj_tag_id": 67
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "J",
      "problem_id": 32898,
      "problem_name": "Jib Job",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "greedy",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "K",
      "problem_id": 32899,
      "problem_name": "Kruidnoten",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "graph theory",
        "shortest path",
        "dijkstra's",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "shortest_path",
        "dijkstra",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "L",
      "problem_id": 32900,
      "problem_name": "Limited Library",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "M",
      "problem_id": 32901,
      "problem_name": "Mouse Trap",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "prefix sum",
        "combinatorics",
        "probability theory",
        "linearity of expectation",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "prefix_sum",
        "combinatorics",
        "probability",
        "linearity_of_expectation",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "A",
      "problem_id": 32886,
      "problem_name": "Alternative Encryption",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "constructive"
      ],
      "tag_keys": [
        "string",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "B",
      "problem_id": 32887,
      "problem_name": "Blackboard",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "mathematics",
        "number theory",
        "sweeping",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "math",
        "number_theory",
        "sweeping",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4356,
      "problem_letter": "C",
      "problem_id": 32888,
      "problem_name": "Consolidating Windows",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "A",
      "problem_id": 32902,
      "problem_name": "Chips",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "B",
      "problem_id": 32903,
      "problem_name": "Application List",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "C",
      "problem_id": 32904,
      "problem_name": "Ordinal Number",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "D",
      "problem_id": 32905,
      "problem_name": "RACI",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "E",
      "problem_id": 32906,
      "problem_name": "Triangle on the Axis",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "F",
      "problem_id": 32907,
      "problem_name": "Faulty Traffic Light",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "ad-hoc",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "G",
      "problem_id": 32908,
      "problem_name": "Programmers and Stones",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc",
        "game theory",
        "parity"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory",
        "parity"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "H",
      "problem_id": 32909,
      "problem_name": "Minimization by Swaps",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "I",
      "problem_id": 32910,
      "problem_name": "Modular Taxi",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "euclidean algorithm",
        "greedy",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "euclidean",
        "greedy",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "J",
      "problem_id": 32911,
      "problem_name": "Electrician",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4358,
      "problem_letter": "K",
      "problem_id": 32912,
      "problem_name": "Wooden Matrix",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "ad-hoc",
        "tree",
        "minimum spanning tree"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "trees",
        "mst"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "L",
      "problem_id": 32913,
      "problem_name": "Count the Operations",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "string",
        "binary search",
        "set / map",
        "parsing",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "string",
        "binary_search",
        "set",
        "parsing",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "M",
      "problem_id": 32914,
      "problem_name": "Balls of Three Colors",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 4358,
      "problem_letter": "N",
      "problem_id": 32915,
      "problem_name": "Definitely Not Chess",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "graph traversal",
        "set / map",
        "breadth-first search",
        "set / map by hashing",
        "game theory"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "graph_traversal",
        "set",
        "bfs",
        "hash_set",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "A",
      "problem_id": 32916,
      "problem_name": "Another Brick in the Wall",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "arithmetic",
        "parity"
      ],
      "tag_keys": [
        "math",
        "arithmetic",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "B",
      "problem_id": 32917,
      "problem_name": "Brick in the Wall, Part 2",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "biconnected component",
        "dynamic programming",
        "dynamic programming on trees",
        "tree",
        "two-pointer"
      ],
      "tag_keys": [
        "bcc",
        "dp",
        "dp_tree",
        "trees",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "bcc",
          "name": "biconnected component",
          "boj_tag_id": 153
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "C",
      "problem_id": 32918,
      "problem_name": "Capybara Cozy Carnival",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "data structures",
        "combinatorics",
        "stack",
        "exponentiation by squaring"
      ],
      "tag_keys": [
        "math",
        "dp",
        "data_structures",
        "combinatorics",
        "stack",
        "exponentiation_by_squaring"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "D",
      "problem_id": 32919,
      "problem_name": "Defective Script",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "linear algebra",
        "hashing"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "linear_algebra",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "E",
      "problem_id": 32920,
      "problem_name": "Eight-Shaped Figures",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "set / map by trees",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "tree_set",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "F",
      "problem_id": 32921,
      "problem_name": "False Alarm",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "G",
      "problem_id": 32922,
      "problem_name": "Game of Annihilation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "prefix sum",
        "game theory"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "H",
      "problem_id": 32923,
      "problem_name": "Hanoi Towers Reloaded",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "ad-hoc"
      ],
      "tag_keys": [
        "math",
        "dp",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "I",
      "problem_id": 32924,
      "problem_name": "If I Could Turn Back Time",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy",
        "sorting",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "J",
      "problem_id": 32925,
      "problem_name": "Just Half is Enough",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "ad-hoc"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "K",
      "problem_id": 32926,
      "problem_name": "Keyboard Chaos",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "L",
      "problem_id": 32927,
      "problem_name": "Longest Common Substring",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 4361,
      "problem_letter": "M",
      "problem_id": 32928,
      "problem_name": "Misère",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "A",
      "problem_id": 32999,
      "problem_name": "Ribbon on the Christmas Present",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "greedy",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "B",
      "problem_id": 33000,
      "problem_name": "The Sparsest Number in Between",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "greedy",
        "ad-hoc",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "ad_hoc",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "C",
      "problem_id": 33001,
      "problem_name": "Omnes Viae Yokohamam Ducunt?",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "D",
      "problem_id": 33002,
      "problem_name": "Tree Generators",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "E",
      "problem_id": 33003,
      "problem_name": "E-Circuit Is Now on Sale!",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "arithmetic",
        "depth-first search",
        "graph theory",
        "graph traversal",
        "implementation",
        "mathematics",
        "simulation"
      ],
      "tag_keys": [
        "arithmetic",
        "dfs",
        "graphs",
        "graph_traversal",
        "implementation",
        "math",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "F",
      "problem_id": 33004,
      "problem_name": "The Farthest Point",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "geometry; 3d",
        "ternary search"
      ],
      "tag_keys": [
        "geometry",
        "geometry_3d",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "G",
      "problem_id": 33005,
      "problem_name": "Beyond the Former Explorer",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "ad-hoc",
        "binary search"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "H",
      "problem_id": 33006,
      "problem_name": "Remodeling the Dungeon 2",
      "problem_difficulty": "Ruby III",
      "difficulty_level": 28,
      "tags": [
        "implementation",
        "data structures",
        "graph theory",
        "graph traversal",
        "disjoint set",
        "bipartite matching"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "graphs",
        "graph_traversal",
        "disjoint_set",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "I",
      "problem_id": 33007,
      "problem_name": "Greatest of the Greatest Common Divisors",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "sweeping",
        "offline queries",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "sweeping",
        "offline_queries",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "J",
      "problem_id": 33008,
      "problem_name": "Mixing Solutions",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "linear programming",
        "duality"
      ],
      "tag_keys": [
        "geometry",
        "linear_programming",
        "duality"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "linear_programming",
          "name": "linear programming",
          "boj_tag_id": 103
        },
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "K",
      "problem_id": 33009,
      "problem_name": "Scheduling Two Meetings",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 4371,
      "problem_letter": "L",
      "problem_id": 33010,
      "problem_name": "Peculiar Protocol",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "A",
      "problem_id": 33015,
      "problem_name": "Accumulator Apex",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "queue",
          "name": "queue",
          "boj_tag_id": 72
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "B",
      "problem_id": 33016,
      "problem_name": "Blueprint for Seating",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "C",
      "problem_id": 33017,
      "problem_name": "Cactus Transformation",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4372,
      "problem_letter": "D",
      "problem_id": 33018,
      "problem_name": "Divisibility Test",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "E",
      "problem_id": 33019,
      "problem_name": "Evaluate It and Back Again",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "F",
      "problem_id": 33020,
      "problem_name": "Fugitive Frenzy",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "dynamic programming",
        "arithmetic",
        "game theory",
        "probability theory",
        "numerical analysis"
      ],
      "tag_keys": [
        "math",
        "dp",
        "arithmetic",
        "game_theory",
        "probability",
        "numerical_analysis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "numerical_analysis",
          "name": "numerical analysis",
          "boj_tag_id": 122
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "G",
      "problem_id": 33021,
      "problem_name": "Great City Saint Petersburg",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "H",
      "problem_id": 33022,
      "problem_name": "Hypercatapult Commute",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "I",
      "problem_id": 33023,
      "problem_name": "Innovative Washing Machine",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "J",
      "problem_id": 33024,
      "problem_name": "Joy of Pokémon Observation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "K",
      "problem_id": 33025,
      "problem_name": "Kim’s Quest",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "dp",
        "math"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4372,
      "problem_letter": "L",
      "problem_id": 33026,
      "problem_name": "LOL Lovers",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "A",
      "problem_id": 33027,
      "problem_name": "Adrenaline Rush",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "B",
      "problem_id": 33028,
      "problem_name": "BitBitJump",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "C",
      "problem_id": 33029,
      "problem_name": "Cactus without Bridges",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4373,
      "problem_letter": "D",
      "problem_id": 33030,
      "problem_name": "DAG Serialization",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "greedy",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "E",
      "problem_id": 33031,
      "problem_name": "Expression Correction",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "bruteforcing",
        "arithmetic",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "bruteforcing",
        "arithmetic",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "F",
      "problem_id": 33032,
      "problem_name": "Fix Flooded Floor",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "G",
      "problem_id": 33033,
      "problem_name": "Geometric Balance",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "H",
      "problem_id": 33034,
      "problem_name": "Hunting Hoglins in Hogwarts",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4373,
      "problem_letter": "I",
      "problem_id": 33035,
      "problem_name": "Incompetent Delivery Guy",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "shortest path",
        "dijkstra's",
        "0-1 bfs"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "shortest_path",
        "dijkstra",
        "0_1_bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "0_1_bfs",
          "name": "0-1 bfs",
          "boj_tag_id": 176
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "J",
      "problem_id": 33036,
      "problem_name": "Judicious Watching",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "prefix sum"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "K",
      "problem_id": 33037,
      "problem_name": "Knowns and Unknowns",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "bipartite matching"
      ],
      "tag_keys": [
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "L",
      "problem_id": 33038,
      "problem_name": "Legacy Screensaver",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "implementation",
        "number theory",
        "simulation",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "number_theory",
        "simulation",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4373,
      "problem_letter": "M",
      "problem_id": 33039,
      "problem_name": "Managing Cluster",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "dynamic programming",
        "greedy",
        "ad-hoc",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "greedy",
        "ad_hoc",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "A",
      "problem_id": 33080,
      "problem_name": "Party Medley",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "B",
      "problem_id": 33081,
      "problem_name": "Cooking Steaks",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "C",
      "problem_id": 33082,
      "problem_name": "Powers of Two",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "D",
      "problem_id": 33083,
      "problem_name": "Robot Upgrades",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4382,
      "problem_letter": "E",
      "problem_id": 33084,
      "problem_name": "Walking Around",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "F",
      "problem_id": 33085,
      "problem_name": "Stock Market",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "G",
      "problem_id": 33086,
      "problem_name": "Plus or Times",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "H",
      "problem_id": 33087,
      "problem_name": "Sorting Machine",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4382,
      "problem_letter": "I",
      "problem_id": 33088,
      "problem_name": "Reporting Documents",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "square root decomposition"
      ],
      "tag_keys": [
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "J",
      "problem_id": 33089,
      "problem_name": "Finding Treasure",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "implementation",
        "data structures",
        "binary search",
        "set / map",
        "set / map by trees"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "data_structures",
        "binary_search",
        "set",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "K",
      "problem_id": 33090,
      "problem_name": "Permutation Construction",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "sorting",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "L",
      "problem_id": 33091,
      "problem_name": "Expected Beauty",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "M",
      "problem_id": 33092,
      "problem_name": "Obstacle Course",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "PA",
      "problem_id": 27622,
      "problem_name": "Suspicious Event",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "PB",
      "problem_id": 27621,
      "problem_name": "Sum of Three Cubes",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "PC",
      "problem_id": 27627,
      "problem_name": "Splitology",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4382,
      "problem_letter": "PD",
      "problem_id": 27623,
      "problem_name": "Wooden Fence",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "knapsack"
      ],
      "tag_keys": [
        "dp",
        "knapsack"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "A",
      "problem_id": 33093,
      "problem_name": "Golden Tickets",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "B",
      "problem_id": 33094,
      "problem_name": "Diet Plan",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "C",
      "problem_id": 33095,
      "problem_name": "Independent Set (Max)",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "directed acyclic graph",
        "depth-first search",
        "dynamic programming",
        "dynamic programming on trees",
        "graph theory",
        "graph traversal",
        "greedy",
        "topological sorting",
        "tree"
      ],
      "tag_keys": [
        "dag",
        "dfs",
        "dp",
        "dp_tree",
        "graphs",
        "graph_traversal",
        "greedy",
        "topological_sorting",
        "trees"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "D",
      "problem_id": 33096,
      "problem_name": "Independent Set (Sum)",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "combinatorics",
        "dynamic programming on trees",
        "rerooting on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "combinatorics",
        "dp_tree",
        "rerooting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "rerooting",
          "name": "rerooting on trees",
          "boj_tag_id": 233
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "E",
      "problem_id": 33097,
      "problem_name": "Reverse Severer",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "string",
        "two-pointer",
        "hashing",
        "rabin–karp"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "two_pointer",
        "hashing",
        "rabin_karp"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "rabin_karp",
          "name": "rabin–karp",
          "boj_tag_id": 61
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "F",
      "problem_id": 33098,
      "problem_name": "Interesting Couple",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "G",
      "problem_id": 33099,
      "problem_name": "Narrow Passageway",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "H",
      "problem_id": 33100,
      "problem_name": "Horse Carts",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "greedy",
        "sorting",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "sorting",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "I",
      "problem_id": 33101,
      "problem_name": "Critical Road",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "tree",
        "directed acyclic graph",
        "dominator tree"
      ],
      "tag_keys": [
        "graphs",
        "trees",
        "dag",
        "dominator_tree"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dominator_tree",
          "name": "dominator tree",
          "boj_tag_id": 135
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "J",
      "problem_id": 33102,
      "problem_name": "Counting Pairs",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bitmask",
        "dynamic programming",
        "sum over subsets dynamic programming",
        "mathematics"
      ],
      "tag_keys": [
        "bitmask",
        "dp",
        "dp_sum_over_subsets",
        "math"
      ],
      "tag_details": [
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "K",
      "problem_id": 33103,
      "problem_name": "Magic Squares",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "L",
      "problem_id": 33104,
      "problem_name": "Numbers Combination",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "fast fourier transform",
        "generating function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "fft",
        "generating_function"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "generating_function",
          "name": "generating function",
          "boj_tag_id": 198
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "M",
      "problem_id": 33105,
      "problem_name": "Chocolate Bar",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "case work"
      ],
      "tag_keys": [
        "case_work"
      ],
      "tag_details": [
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "PA",
      "problem_id": 33080,
      "problem_name": "Party Medley",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "PB",
      "problem_id": 33081,
      "problem_name": "Cooking Steaks",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "prefix sum",
        "two-pointer"
      ],
      "tag_keys": [
        "greedy",
        "prefix_sum",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "PC",
      "problem_id": 33085,
      "problem_name": "Stock Market",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4383,
      "problem_letter": "PD",
      "problem_id": 33082,
      "problem_name": "Powers of Two",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "A",
      "problem_id": 33106,
      "problem_name": "Problem C",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "B",
      "problem_id": 33107,
      "problem_name": "The Journey of the King",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "bipartite matching",
        "hashing"
      ],
      "tag_keys": [
        "bipartite_matching",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "C",
      "problem_id": 33108,
      "problem_name": "Double Chunks",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "greedy",
        "set / map",
        "set / map by hashing"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "set",
        "hash_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "D",
      "problem_id": 33109,
      "problem_name": "Treasure Lair",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4384,
      "problem_letter": "E",
      "problem_id": 33110,
      "problem_name": "Three Three Three",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "game theory",
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "game_theory",
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "F",
      "problem_id": 33111,
      "problem_name": "Intensive Training",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "G",
      "problem_id": 33112,
      "problem_name": "Graph Director",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "H",
      "problem_id": 33113,
      "problem_name": "Alchembit Exam",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "greedy",
        "bitmask",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "bitmask",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "I",
      "problem_id": 33114,
      "problem_name": "Count DFS Tree",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "dynamic programming",
        "prefix sum",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "prefix_sum",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "J",
      "problem_id": 33115,
      "problem_name": "Feng Shui",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "greedy",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "K",
      "problem_id": 33116,
      "problem_name": "Red Panda",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "L",
      "problem_id": 33117,
      "problem_name": "Primal Collection",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4384,
      "problem_letter": "M",
      "problem_id": 33118,
      "problem_name": "ICPC Provincial",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "PA",
      "problem_id": 33093,
      "problem_name": "Golden Tickets",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "PB",
      "problem_id": 33094,
      "problem_name": "Diet Plan",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "PC",
      "problem_id": 33090,
      "problem_name": "Permutation Construction",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "sorting",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4384,
      "problem_letter": "PD",
      "problem_id": 33099,
      "problem_name": "Narrow Passageway",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "A",
      "problem_id": 33119,
      "problem_name": "Scrambled Scrabble",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "B",
      "problem_id": 33120,
      "problem_name": "ICPC Square",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "C",
      "problem_id": 33121,
      "problem_name": "Saraga",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "D",
      "problem_id": 33122,
      "problem_name": "Aquatic Dragon",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "prefix sum",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "prefix_sum",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "E",
      "problem_id": 33123,
      "problem_name": "Narrower Passageway",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "binary search",
        "probability theory",
        "inclusion and exclusion",
        "sparse table",
        "modular multiplicative inverse",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "binary_search",
        "probability",
        "inclusion_and_exclusion",
        "sparse_table",
        "modular_multiplicative_inverse",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "F",
      "problem_id": 33124,
      "problem_name": "Grid Game 3-angle",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "G",
      "problem_id": 33125,
      "problem_name": "X Aura",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "H",
      "problem_id": 33126,
      "problem_name": "Missing Separators",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "dp",
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "I",
      "problem_id": 33127,
      "problem_name": "Microwavable Subsequence",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "J",
      "problem_id": 33128,
      "problem_name": "Xorderable Array",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "data structures",
        "string",
        "tree",
        "trie"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "string",
        "trees",
        "trie"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "K",
      "problem_id": 33129,
      "problem_name": "GCDDCG",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "number theory",
        "inclusion and exclusion",
        "möbius inversion"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "inclusion_and_exclusion",
        "mobius_inversion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "mobius_inversion",
          "name": "möbius inversion",
          "boj_tag_id": 51
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "L",
      "problem_id": 33130,
      "problem_name": "Buggy DFS",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "M",
      "problem_id": 33131,
      "problem_name": "Mirror Maze",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "PA",
      "problem_id": 33118,
      "problem_name": "ICPC Provincial",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "PB",
      "problem_id": 32087,
      "problem_name": "Palindromic Parentheses",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "PC",
      "problem_id": 32088,
      "problem_name": "Triangle Construction",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4385,
      "problem_letter": "PD",
      "problem_id": 33116,
      "problem_name": "Red Panda",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "A",
      "problem_id": 33135,
      "problem_name": "Append and Panic!",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "B",
      "problem_id": 33136,
      "problem_name": "Biketopia’s Cyclic Track",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "C",
      "problem_id": 33137,
      "problem_name": "Cindy’s Christmas Challenge",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "greedy",
        "prefix sum",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "prefix_sum",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "D",
      "problem_id": 33138,
      "problem_name": "Diverse T-Shirts",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "graph traversal",
        "depth-first search",
        "bipartite matching",
        "bit set"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "dfs",
        "bipartite_matching",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "E",
      "problem_id": 33139,
      "problem_name": "Evereth Expedition",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "F",
      "problem_id": 33140,
      "problem_name": "Finding Privacy",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "G",
      "problem_id": 33141,
      "problem_name": "Grand Glory Race",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "tree",
        "dynamic programming on trees",
        "rerooting on trees"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "dp_tree",
        "rerooting"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "rerooting",
          "name": "rerooting on trees",
          "boj_tag_id": 233
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "H",
      "problem_id": 33142,
      "problem_name": "Heraclosures",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "graph theory",
        "directed acyclic graph",
        "square root decomposition"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "dag",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "I",
      "problem_id": 33143,
      "problem_name": "Inversion Insight",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "J",
      "problem_id": 33144,
      "problem_name": "Jigsaw of Shadows",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "geometry",
        "sweeping"
      ],
      "tag_keys": [
        "geometry",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "K",
      "problem_id": 33145,
      "problem_name": "Kool Strings",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4388,
      "problem_letter": "L",
      "problem_id": 33146,
      "problem_name": "Latin Squares",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "ad-hoc",
        "constructive",
        "permutation cycle decomposition"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "constructive",
        "permutation_cycle_decomposition"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "permutation_cycle_decomposition",
          "name": "permutation cycle decomposition",
          "boj_tag_id": 171
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "A",
      "problem_id": 33178,
      "problem_name": "Micromasters",
      "problem_difficulty": "Bronze V",
      "difficulty_level": 1,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "B",
      "problem_id": 33179,
      "problem_name": "Hezardastan’s Annual Report",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "C",
      "problem_id": 33180,
      "problem_name": "Moderation in all things",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4393,
      "problem_letter": "D",
      "problem_id": 33181,
      "problem_name": "Cup of Tea",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4393,
      "problem_letter": "E",
      "problem_id": 33182,
      "problem_name": "Largest Triangle",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "stack",
        "convex hull"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "stack",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "F",
      "problem_id": 33183,
      "problem_name": "Micromasters Certificates",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "data structures",
        "string",
        "bruteforcing",
        "set / map",
        "set / map by hashing",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "string",
        "bruteforcing",
        "set",
        "hash_set",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "hash_set",
          "name": "set / map by hashing",
          "boj_tag_id": 136
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "G",
      "problem_id": 33184,
      "problem_name": "Jackson House",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "H",
      "problem_id": 33185,
      "problem_name": "Star Wars",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "I",
      "problem_id": 33186,
      "problem_name": "Pistons",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "simulation",
        "difference array"
      ],
      "tag_keys": [
        "implementation",
        "simulation",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "J",
      "problem_id": 33187,
      "problem_name": "Cafebazaar’s Applications",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "K",
      "problem_id": 33188,
      "problem_name": "Monster Warehouse",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "L",
      "problem_id": 33189,
      "problem_name": "Rolling-Dice Puzzle",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4393,
      "problem_letter": "M",
      "problem_id": 33190,
      "problem_name": "Colorful Intervals",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "bruteforcing",
        "two-pointer"
      ],
      "tag_keys": [
        "bruteforcing",
        "two_pointer"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        }
      ]
    },
    {
      "contest_id": 4394,
      "problem_letter": "A",
      "problem_id": 33191,
      "problem_name": "Yalda",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4394,
      "problem_letter": "B",
      "problem_id": 33192,
      "problem_name": "Divar’s Salaries",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4394,
      "problem_letter": "C",
      "problem_id": 33193,
      "problem_name": "GPT DarkDown",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4394,
      "problem_letter": "D",
      "problem_id": 33194,
      "problem_name": "Electromagnetic Attacks",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4394,
      "problem_letter": "E",
      "problem_id": 33195,
      "problem_name": "PCB",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "greedy",
        "priority queue",
        "sorting"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "priority_queue",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4394,
      "problem_letter": "F",
      "problem_id": 33196,
      "problem_name": "I am Sherlocked",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4394,
      "problem_letter": "G",
      "problem_id": 33197,
      "problem_name": "Double Radars",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4394,
      "problem_letter": "H",
      "problem_id": 33198,
      "problem_name": "Anti-Missile",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4394,
      "problem_letter": "I",
      "problem_id": 33199,
      "problem_name": "Conference Rides",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "binary search",
        "bipartite matching"
      ],
      "tag_keys": [
        "binary_search",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4394,
      "problem_letter": "J",
      "problem_id": 33200,
      "problem_name": "Parking Theory",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4394,
      "problem_letter": "K",
      "problem_id": 33201,
      "problem_name": "Boat",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "A",
      "problem_id": 33208,
      "problem_name": "AI Armagedon",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "B",
      "problem_id": 33209,
      "problem_name": "Banalne Baze",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4396,
      "problem_letter": "C",
      "problem_id": 33210,
      "problem_name": "Cetinska Cestogradnja",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4396,
      "problem_letter": "D",
      "problem_id": 33211,
      "problem_name": "Drevni Diskovi",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4396,
      "problem_letter": "E",
      "problem_id": 33212,
      "problem_name": "EA Enigma",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "exponentiation by squaring",
        "modular multiplicative inverse",
        "polynomial interpolation"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse",
        "polynomial_interpolation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "polynomial_interpolation",
          "name": "polynomial interpolation",
          "boj_tag_id": 209
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "F",
      "problem_id": 33213,
      "problem_name": "Fermatovi Fakini",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "G",
      "problem_id": 33214,
      "problem_name": "Gladni Gargamel",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "bfs",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "H",
      "problem_id": 33215,
      "problem_name": "Hoditi Hribima",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "directed acyclic graph",
        "dijkstra's",
        "graph theory",
        "shortest path"
      ],
      "tag_keys": [
        "dag",
        "dijkstra",
        "graphs",
        "shortest_path"
      ],
      "tag_details": [
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "I",
      "problem_id": 33216,
      "problem_name": "Izvanredan Ishod",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "J",
      "problem_id": 33217,
      "problem_name": "Jaki Jovsi",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "greedy"
      ],
      "tag_keys": [
        "dp",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4396,
      "problem_letter": "K",
      "problem_id": 33218,
      "problem_name": "Krasan Kod",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "string",
        "graph traversal",
        "binary search",
        "constructive",
        "breadth-first search",
        "depth-first search",
        "hashing",
        "z"
      ],
      "tag_keys": [
        "graphs",
        "string",
        "graph_traversal",
        "binary_search",
        "constructive",
        "bfs",
        "dfs",
        "hashing",
        "z"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "A",
      "problem_id": 33586,
      "problem_name": "Grove",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "geometry",
        "precomputation",
        "heuristics"
      ],
      "tag_keys": [
        "geometry",
        "precomputation",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "B",
      "problem_id": 33587,
      "problem_name": "Charming Meals",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bruteforcing",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "bruteforcing",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "C",
      "problem_id": 33588,
      "problem_name": "Annual Ants’ Gathering",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "data structures",
        "greedy",
        "tree",
        "dynamic programming on trees",
        "priority queue",
        "centroid"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "greedy",
        "trees",
        "dp_tree",
        "priority_queue",
        "centroid"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "centroid",
          "name": "centroid",
          "boj_tag_id": 188
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "D",
      "problem_id": 33589,
      "problem_name": "Funny or Scary?",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "constructive"
      ],
      "tag_keys": [
        "graphs",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "E",
      "problem_id": 33590,
      "problem_name": "Damage per Second",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4444,
      "problem_letter": "F",
      "problem_id": 33591,
      "problem_name": "Dating",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "sorting",
        "tree"
      ],
      "tag_keys": [
        "sorting",
        "trees"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "G",
      "problem_id": 33592,
      "problem_name": "Scooter",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "H",
      "problem_id": 33593,
      "problem_name": "Division Avoidance",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "I",
      "problem_id": 33594,
      "problem_name": "Disks",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "bipartite graph",
        "geometry",
        "graph theory"
      ],
      "tag_keys": [
        "bipartite_graph",
        "geometry",
        "graphs"
      ],
      "tag_details": [
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "J",
      "problem_id": 33595,
      "problem_name": "Amanda the Amoeba",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "tree",
        "constructive"
      ],
      "tag_keys": [
        "trees",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4444,
      "problem_letter": "K",
      "problem_id": 33596,
      "problem_name": "Make Triangle",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "A",
      "problem_id": 33597,
      "problem_name": "Condorcet Elections",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "B",
      "problem_id": 33598,
      "problem_name": "Urban Planning",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "constructive",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "C",
      "problem_id": 33599,
      "problem_name": "Ads",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "greedy",
        "set / map"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "set"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "D",
      "problem_id": 33600,
      "problem_name": "Morse Code",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "traceback"
      ],
      "tag_keys": [
        "dp",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "E",
      "problem_id": 33601,
      "problem_name": "Porto Vs. Benfica",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "breadth-first search",
        "shortest path",
        "dijkstra's",
        "lowest common ancestor",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "bfs",
        "shortest_path",
        "dijkstra",
        "lca",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "lca",
          "name": "lowest common ancestor",
          "boj_tag_id": 41
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "F",
      "problem_id": 33602,
      "problem_name": "Mascot Naming",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "string",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "G",
      "problem_id": 33603,
      "problem_name": "A Very Long Hike",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "ad-hoc",
        "geometry",
        "shortest path",
        "convex hull"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "geometry",
        "shortest_path",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "H",
      "problem_id": 33604,
      "problem_name": "Statues",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "geometry",
        "constructive"
      ],
      "tag_keys": [
        "geometry",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "I",
      "problem_id": 33605,
      "problem_name": "Pinball",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "grid graph",
        "traceback"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "grid_graph",
        "traceback"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "grid_graph",
          "name": "grid graph",
          "boj_tag_id": 221
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "J",
      "problem_id": 33606,
      "problem_name": "The Ultimate Wine Tasting Event",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "string",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4445,
      "problem_letter": "K",
      "problem_id": 33607,
      "problem_name": "Amusement Park Rides",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "data structures",
        "graph theory",
        "greedy",
        "number theory",
        "priority queue",
        "maximum flow",
        "bipartite matching"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "graphs",
        "greedy",
        "number_theory",
        "priority_queue",
        "flow",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "A",
      "problem_id": 34265,
      "problem_name": "A Totient Quotient",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "prime factorization",
        "euler totient function"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "prime_factorization",
        "euler_phi"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        },
        {
          "key": "euler_phi",
          "name": "euler totient function",
          "boj_tag_id": 151
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "B",
      "problem_id": 34266,
      "problem_name": "Circle of Leaf",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "tree",
        "combinatorics",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "math",
        "dp",
        "trees",
        "combinatorics",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "C",
      "problem_id": 34267,
      "problem_name": "Entrapment",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "D",
      "problem_id": 34268,
      "problem_name": "Geometry Rush",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "geometry",
        "parity"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "E",
      "problem_id": 34269,
      "problem_name": "Humans vs AI",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "divide and conquer",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "divide_and_conquer",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "F",
      "problem_id": 34270,
      "problem_name": "Mob Grinder",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "G",
      "problem_id": 34271,
      "problem_name": "Most Scenic Cycle",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4543,
      "problem_letter": "H",
      "problem_id": 34272,
      "problem_name": "Ornaments on a Tree",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "I",
      "problem_id": 34273,
      "problem_name": "Polygon Partition",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "J",
      "problem_id": 34274,
      "problem_name": "Popping Balloons",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "combinatorics",
        "divide and conquer",
        "probability theory",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "divide_and_conquer",
        "probability",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "K",
      "problem_id": 34275,
      "problem_name": "SLA Tomography",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "L",
      "problem_id": 34276,
      "problem_name": "Solar Farm",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry",
        "calculus",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry",
        "calculus",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 4543,
      "problem_letter": "M",
      "problem_id": 34277,
      "problem_name": "This Is Sparta!",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4567,
      "problem_letter": "A",
      "problem_id": 34476,
      "problem_name": "A-Skew-ed Reasoning",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "recursion",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "recursion",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "B",
      "problem_id": 34477,
      "problem_name": "Blackboard Game",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "graph theory",
        "game theory",
        "bipartite matching"
      ],
      "tag_keys": [
        "graphs",
        "game_theory",
        "bipartite_matching"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "C",
      "problem_id": 34478,
      "problem_name": "Bride of Pipe Stream",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "graph theory",
        "maximum flow",
        "ternary search",
        "duality"
      ],
      "tag_keys": [
        "graphs",
        "flow",
        "ternary_search",
        "duality"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "duality",
          "name": "duality",
          "boj_tag_id": 180
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "D",
      "problem_id": 34479,
      "problem_name": "Buggy Rover",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "E",
      "problem_id": 34480,
      "problem_name": "Delivery Service",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "disjoint set",
        "inclusion and exclusion",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set",
        "inclusion_and_exclusion",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "F",
      "problem_id": 34481,
      "problem_name": "Herding Cats",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "G",
      "problem_id": 34482,
      "problem_name": "Lava Moat",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [
        "data structures",
        "graph theory",
        "geometry",
        "disjoint set",
        "divide and conquer",
        "offline queries",
        "offline dynamic connectivity"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "geometry",
        "disjoint_set",
        "divide_and_conquer",
        "offline_queries",
        "offline_dynamic_connectivity"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "offline_dynamic_connectivity",
          "name": "offline dynamic connectivity",
          "boj_tag_id": 52
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "H",
      "problem_id": 34483,
      "problem_name": "Score Values",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "dynamic programming",
        "graph theory",
        "number theory",
        "digit dp"
      ],
      "tag_keys": [
        "math",
        "dp",
        "graphs",
        "number_theory",
        "dp_digit"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "dp_digit",
          "name": "digit dp",
          "boj_tag_id": 217
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "I",
      "problem_id": 34484,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4567,
      "problem_letter": "J",
      "problem_id": 34485,
      "problem_name": "Stacking Cups",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "K",
      "problem_id": 34486,
      "problem_name": "Treasure Map",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "greedy"
      ],
      "tag_keys": [
        "graphs",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4567,
      "problem_letter": "L",
      "problem_id": 34487,
      "problem_name": "Walking on Sunshine",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "sorting",
        "ad-hoc",
        "geometry",
        "prefix sum",
        "sweeping",
        "difference array"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc",
        "geometry",
        "prefix_sum",
        "sweeping",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "A",
      "problem_id": 34584,
      "problem_name": "Take It or Double It",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "B",
      "problem_id": 34585,
      "problem_name": "Twin Guardians",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "number theory",
        "primality test"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "primality_test"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "C",
      "problem_id": 34586,
      "problem_name": "One-Way Abyss",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "dynamic programming",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "D",
      "problem_id": 34587,
      "problem_name": "Palindromic Distance",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "string"
      ],
      "tag_keys": [
        "dp",
        "string"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "E",
      "problem_id": 34588,
      "problem_name": "Explosive Slabstones Rearrangement",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "binary search",
        "breadth-first search",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "binary_search",
        "bfs",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "F",
      "problem_id": 34589,
      "problem_name": "Fruitful Compression",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "dynamic programming",
        "bruteforcing",
        "bitmask",
        "dynamic programming using bitfield",
        "sum over subsets dynamic programming"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "bruteforcing",
        "bitmask",
        "dp_bitfield",
        "dp_sum_over_subsets"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "dp_bitfield",
          "name": "dynamic programming using bitfield",
          "boj_tag_id": 87
        },
        {
          "key": "dp_sum_over_subsets",
          "name": "sum over subsets dynamic programming",
          "boj_tag_id": 207
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "G",
      "problem_id": 34590,
      "problem_name": "Gamer Bafuko",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "segment tree",
        "set / map",
        "depth-first search",
        "set / map by trees",
        "diameter of a tree"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "segtree",
        "set",
        "dfs",
        "tree_set",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "H",
      "problem_id": 34591,
      "problem_name": "Chopsticks",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "I",
      "problem_id": 34592,
      "problem_name": "Reactor",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "implementation",
        "data structures",
        "segment tree",
        "segment tree with lazy propagation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "segtree",
        "lazyprop"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "J",
      "problem_id": 34593,
      "problem_name": "Gas Station",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming",
        "greedy",
        "tree",
        "dynamic programming on trees",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "trees",
        "dp_tree",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "K",
      "problem_id": 34594,
      "problem_name": "Move Stone",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "graph theory",
        "maximum flow"
      ],
      "tag_keys": [
        "graphs",
        "flow"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 4582,
      "problem_letter": "L",
      "problem_id": 34595,
      "problem_name": "Stapler",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "geometry",
        "case work",
        "line segment intersection check"
      ],
      "tag_keys": [
        "geometry",
        "case_work",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "A",
      "problem_id": 34602,
      "problem_name": "Control Towers",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "prefix sum",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "prefix_sum",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "B",
      "problem_id": 34603,
      "problem_name": "Three-Dimensional Embedding",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4585,
      "problem_letter": "C",
      "problem_id": 34604,
      "problem_name": "Cactus Connectivity",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "graph theory",
        "ad-hoc",
        "cactus"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "cactus"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "cactus",
          "name": "cactus",
          "boj_tag_id": 143
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "D",
      "problem_id": 34605,
      "problem_name": "Tower of Hanoi",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "E",
      "problem_id": 34606,
      "problem_name": "Minus Operator",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4585,
      "problem_letter": "F",
      "problem_id": 34607,
      "problem_name": "Hold the Star",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "G",
      "problem_id": 34608,
      "problem_name": "Corrupted File",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "ad-hoc",
        "binary search",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "binary_search",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "H",
      "problem_id": 34609,
      "problem_name": "Secret Lilies and Roses",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "I",
      "problem_id": 34610,
      "problem_name": "Squares on Grid Lines",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "sweeping",
        "offline queries",
        "pythagoras theorem"
      ],
      "tag_keys": [
        "geometry",
        "sweeping",
        "offline_queries",
        "pythagoras"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "pythagoras",
          "name": "pythagoras theorem",
          "boj_tag_id": 60
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "J",
      "problem_id": 34611,
      "problem_name": "Gathering Sharks",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "K",
      "problem_id": 34612,
      "problem_name": "Book Sorting",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "set / map",
        "set / map by trees",
        "divide and conquer",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "set",
        "tree_set",
        "divide_and_conquer",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "L",
      "problem_id": 34613,
      "problem_name": "Boarding Queue",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "M",
      "problem_id": 34614,
      "problem_name": "Can You Reach There?",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "ad-hoc",
        "geometry",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "geometry",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "A",
      "problem_id": 27621,
      "problem_name": "Sum of Three Cubes",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "precomputation"
      ],
      "tag_keys": [
        "implementation",
        "precomputation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "precomputation",
          "name": "precomputation",
          "boj_tag_id": 172
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "B",
      "problem_id": 31601,
      "problem_name": "Symmetric Boundary",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "geometry",
        "convex hull",
        "line segment intersection check",
        "area of a polygon"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "line_intersection",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "C",
      "problem_id": 31592,
      "problem_name": "Online Assignment",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "bruteforcing",
        "ad-hoc",
        "differential cryptanalysis"
      ],
      "tag_keys": [
        "bruteforcing",
        "ad_hoc",
        "differential_cryptanalysis"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "differential_cryptanalysis",
          "name": "differential cryptanalysis",
          "boj_tag_id": 185
        }
      ]
    },
    {
      "contest_id": 4585,
      "problem_letter": "D",
      "problem_id": 31603,
      "problem_name": "Tree Quiz",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "binary search",
        "euler tour technique",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "binary_search",
        "euler_tour_technique",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "euler_tour_technique",
          "name": "euler tour technique",
          "boj_tag_id": 150
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "A",
      "problem_id": 34635,
      "problem_name": "Art Installation",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "greedy",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "B",
      "problem_id": 34636,
      "problem_name": "Backup Towers",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "C",
      "problem_id": 34637,
      "problem_name": "Call for Problems, Round 2",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "D",
      "problem_id": 34638,
      "problem_name": "Carl's Maze-Solving Algorithm",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "E",
      "problem_id": 34639,
      "problem_name": "Curling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4589,
      "problem_letter": "F",
      "problem_id": 34640,
      "problem_name": "Figure Skating Judging",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy",
        "sorting",
        "sliding window"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "G",
      "problem_id": 34641,
      "problem_name": "Mingle",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "number theory",
        "combinatorics",
        "exponentiation by squaring",
        "modular multiplicative inverse"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "combinatorics",
        "exponentiation_by_squaring",
        "modular_multiplicative_inverse"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "H",
      "problem_id": 34642,
      "problem_name": "Seesaw",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "I",
      "problem_id": 34643,
      "problem_name": "Star Guardians",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "J",
      "problem_id": 34644,
      "problem_name": "Ten Player Bingo",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "K",
      "problem_id": 34645,
      "problem_name": "Treasure Hunt",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "L",
      "problem_id": 34646,
      "problem_name": "Triple Jump",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "ad-hoc",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4589,
      "problem_letter": "M",
      "problem_id": 34647,
      "problem_name": "Utopia Relationships",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4591,
      "problem_letter": "A",
      "problem_id": 34677,
      "problem_name": "최적의 분할",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "B",
      "problem_id": 34678,
      "problem_name": "Bridge",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "geometry",
        "prefix sum",
        "sweeping",
        "stack",
        "ternary search"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "prefix_sum",
        "sweeping",
        "stack",
        "ternary_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "C",
      "problem_id": 34679,
      "problem_name": "Docking Day",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal",
        "ad-hoc",
        "breadth-first search",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "ad_hoc",
        "bfs",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "D",
      "problem_id": 34680,
      "problem_name": "Fox Buki",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "ad-hoc",
        "constructive",
        "bipartite matching",
        "hall's theorem"
      ],
      "tag_keys": [
        "graphs",
        "ad_hoc",
        "constructive",
        "bipartite_matching",
        "hall"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bipartite_matching",
          "name": "bipartite matching",
          "boj_tag_id": 13
        },
        {
          "key": "hall",
          "name": "hall's theorem",
          "boj_tag_id": 34
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "E",
      "problem_id": 34681,
      "problem_name": "Image Analysis",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "offline queries",
        "value / coordinate compression",
        "square root decomposition",
        "mo's"
      ],
      "tag_keys": [
        "offline_queries",
        "coordinate_compression",
        "sqrt_decomposition",
        "mo"
      ],
      "tag_details": [
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "F",
      "problem_id": 34682,
      "problem_name": "Inverse Look-and-Say",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "G",
      "problem_id": 34683,
      "problem_name": "Magical Sort",
      "problem_difficulty": "Ruby IV",
      "difficulty_level": 27,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4591,
      "problem_letter": "H",
      "problem_id": 34684,
      "problem_name": "Mountain",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "lis"
      ],
      "tag_details": [
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "I",
      "problem_id": 34685,
      "problem_name": "이차 방정식",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4591,
      "problem_letter": "J",
      "problem_id": 34686,
      "problem_name": "Rescue Squad",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "A",
      "problem_id": 34732,
      "problem_name": "Ananna",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "B",
      "problem_id": 34733,
      "problem_name": "Brazilian FootXOR",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "linear algebra",
        "traceback",
        "gaussian elimination",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "math",
        "linear_algebra",
        "traceback",
        "gaussian_elimination",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "C",
      "problem_id": 34734,
      "problem_name": "Coatless in Yakutsk",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "D",
      "problem_id": 34735,
      "problem_name": "Dangerous City",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "data structures",
        "graph theory",
        "graph traversal",
        "sorting",
        "tree",
        "depth-first search",
        "disjoint set",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "graphs",
        "graph_traversal",
        "sorting",
        "trees",
        "dfs",
        "disjoint_set",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "E",
      "problem_id": 34736,
      "problem_name": "Exciting Business Opportunities",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4596,
      "problem_letter": "F",
      "problem_id": 34737,
      "problem_name": "Festival Signs",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "G",
      "problem_id": 34738,
      "problem_name": "Game of Pieces",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "H",
      "problem_id": 34739,
      "problem_name": "Horrible Restaurants",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "graph theory",
        "data structures",
        "greedy",
        "set / map",
        "maximum flow"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "data_structures",
        "greedy",
        "set",
        "flow"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "I",
      "problem_id": 34740,
      "problem_name": "Infinite Arrays",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4596,
      "problem_letter": "J",
      "problem_id": 34741,
      "problem_name": "Just Look Up",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "geometry",
        "convex hull",
        "geometry; 3d"
      ],
      "tag_keys": [
        "geometry",
        "convex_hull",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "K",
      "problem_id": 34742,
      "problem_name": "Keep Fighting",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4596,
      "problem_letter": "L",
      "problem_id": 34743,
      "problem_name": "LED Counter",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4601,
      "problem_letter": "A",
      "problem_id": 34749,
      "problem_name": "A healthy menu",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4601,
      "problem_letter": "B",
      "problem_id": 34770,
      "problem_name": "Baralho Alho",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "C",
      "problem_id": 34771,
      "problem_name": "Collatz polynomial",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4601,
      "problem_letter": "D",
      "problem_id": 34772,
      "problem_name": "Dominoes",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "E",
      "problem_id": 34773,
      "problem_name": "Expansion of the road network",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "F",
      "problem_id": 34774,
      "problem_name": "Frangolino ali na mesa",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "G",
      "problem_id": 34775,
      "problem_name": "Generating patterns",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "bruteforcing",
        "linear algebra",
        "gaussian elimination"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "linear_algebra",
        "gaussian_elimination"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "gaussian_elimination",
          "name": "gaussian elimination",
          "boj_tag_id": 32
        }
      ]
    },
    {
      "contest_id": 4601,
      "problem_letter": "H",
      "problem_id": 34776,
      "problem_name": "How many teams?",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "I",
      "problem_id": 34777,
      "problem_name": "Investigating Quadradômeda",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "J",
      "problem_id": 34778,
      "problem_name": "João João",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4601,
      "problem_letter": "K",
      "problem_id": 34779,
      "problem_name": "Knockout, swiss and other kinds of tournaments",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "L",
      "problem_id": 34780,
      "problem_name": "LLMs",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4601,
      "problem_letter": "M",
      "problem_id": 34781,
      "problem_name": "Minas Gerais’ walls",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4602,
      "problem_letter": "A",
      "problem_id": 34782,
      "problem_name": "Bouquet of Balloons",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "sorting",
        "binary search"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4602,
      "problem_letter": "B",
      "problem_id": 34783,
      "problem_name": "Bus Seating",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "C",
      "problem_id": 34784,
      "problem_name": "Closest Equal Pair",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "greedy",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4602,
      "problem_letter": "D",
      "problem_id": 34785,
      "problem_name": "Farthest City",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "implementation",
        "data structures",
        "tree",
        "two-pointer",
        "diameter of a tree"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "trees",
        "two_pointer",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 4602,
      "problem_letter": "E",
      "problem_id": 34786,
      "problem_name": "Fractal Painting",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "F",
      "problem_id": 34787,
      "problem_name": "Friendships",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "G",
      "problem_id": 34788,
      "problem_name": "Honkai Stress Relief",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4602,
      "problem_letter": "H",
      "problem_id": 34789,
      "problem_name": "$K^{\\text{th}}$ King",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "I",
      "problem_id": 34790,
      "problem_name": "Pair Linked Mokepon",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "J",
      "problem_id": 34791,
      "problem_name": "Server Room",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "K",
      "problem_id": 34792,
      "problem_name": "Shh",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4602,
      "problem_letter": "L",
      "problem_id": 34793,
      "problem_name": "Training, Round 4",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4602,
      "problem_letter": "M",
      "problem_id": 34794,
      "problem_name": "Triangle of Triangles",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "A",
      "problem_id": 34795,
      "problem_name": "An Elephant Problem",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "B",
      "problem_id": 34796,
      "problem_name": "Call for Problems, Round 3",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "C",
      "problem_id": 34797,
      "problem_name": "GPA Computation",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "D",
      "problem_id": 34788,
      "problem_name": "Honkai Stress Relief",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "E",
      "problem_id": 34798,
      "problem_name": "Missed Alarm",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "F",
      "problem_id": 34799,
      "problem_name": "Strawberry",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "G",
      "problem_id": 34782,
      "problem_name": "Bouquet of Balloons",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "sorting",
        "binary search"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "H",
      "problem_id": 34786,
      "problem_name": "Fractal Painting",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4603,
      "problem_letter": "I",
      "problem_id": 34800,
      "problem_name": "Server Corridor",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "J",
      "problem_id": 34792,
      "problem_name": "Shh",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4603,
      "problem_letter": "K",
      "problem_id": 34801,
      "problem_name": "Solidarity of the Happy Cats",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4603,
      "problem_letter": "L",
      "problem_id": 34793,
      "problem_name": "Training, Round 4",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4603,
      "problem_letter": "M",
      "problem_id": 34794,
      "problem_name": "Triangle of Triangles",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "A",
      "problem_id": 34860,
      "problem_name": "Adventurer Dabi",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4608,
      "problem_letter": "B",
      "problem_id": 34861,
      "problem_name": "Badge Relay",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "data structures",
        "segment tree",
        "offline queries",
        "mo's"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "offline_queries",
        "mo"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "mo",
          "name": "mo's",
          "boj_tag_id": 50
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "C",
      "problem_id": 34862,
      "problem_name": "Bay",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "implementation",
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search"
      ],
      "tag_keys": [
        "implementation",
        "graphs",
        "graph_traversal",
        "trees",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "D",
      "problem_id": 34863,
      "problem_name": "Bookshelf",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "E",
      "problem_id": 34864,
      "problem_name": "Clean Arrangements",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "greedy",
        "sorting",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "greedy",
        "sorting",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "F",
      "problem_id": 34865,
      "problem_name": "CPEquivalence",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "dynamic programming",
        "tree",
        "cartesian tree"
      ],
      "tag_keys": [
        "dp",
        "trees",
        "cartesian_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "cartesian_tree",
          "name": "cartesian tree",
          "boj_tag_id": 206
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "G",
      "problem_id": 34866,
      "problem_name": "Extraterrestrial Creatures",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "binary search",
        "priority queue",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "binary_search",
        "priority_queue",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "H",
      "problem_id": 34867,
      "problem_name": "Fair Problemset",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "combinatorics",
        "fast fourier transform"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "fft"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "I",
      "problem_id": 34868,
      "problem_name": "Magic Door",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "J",
      "problem_id": 34869,
      "problem_name": "Mex Culpa",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "data structures",
        "segment tree",
        "multidimensional segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "multi_segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "multi_segtree",
          "name": "multidimensional segment tree",
          "boj_tag_id": 166
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "K",
      "problem_id": 34870,
      "problem_name": "Quadrants",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "sorting",
        "geometry",
        "sweeping",
        "two-pointer",
        "difference array",
        "angle sorting"
      ],
      "tag_keys": [
        "sorting",
        "geometry",
        "sweeping",
        "two_pointer",
        "difference_array",
        "angle_sorting"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        },
        {
          "key": "angle_sorting",
          "name": "angle sorting",
          "boj_tag_id": 240
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "L",
      "problem_id": 34871,
      "problem_name": "Segments",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "greedy",
        "ad-hoc"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4608,
      "problem_letter": "M",
      "problem_id": 34872,
      "problem_name": "Triple Fairness",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "A",
      "problem_id": 35004,
      "problem_name": "Fight Against Numbers",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "simulation",
        "bitmask"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "simulation",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "B",
      "problem_id": 35005,
      "problem_name": "Time of the Magical Number",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "C",
      "problem_id": 35006,
      "problem_name": "Inflation",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "D",
      "problem_id": 35007,
      "problem_name": "Nine Out Of Ten",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "E",
      "problem_id": 35008,
      "problem_name": "Garden Bed",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "mathematics",
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "F",
      "problem_id": 35009,
      "problem_name": "Largest Area",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "G",
      "problem_id": 35010,
      "problem_name": "Out of Bounds Piano",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "H",
      "problem_id": 35011,
      "problem_name": "Competition Results",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "I",
      "problem_id": 35012,
      "problem_name": "Who Am I?",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "J",
      "problem_id": 35013,
      "problem_name": "Nature Reserve",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "bruteforcing",
        "geometry"
      ],
      "tag_keys": [
        "bruteforcing",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "K",
      "problem_id": 35014,
      "problem_name": "Hex Operations",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "L",
      "problem_id": 35015,
      "problem_name": "Collatz Hypothesis and Random Increases",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4630,
      "problem_letter": "M",
      "problem_id": 35016,
      "problem_name": "Sums of Two",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "dynamic programming",
        "bitmask",
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "dp",
        "bitmask",
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4630,
      "problem_letter": "N",
      "problem_id": 35017,
      "problem_name": "Wanted: Second Sock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4631,
      "problem_letter": "A",
      "problem_id": 35018,
      "problem_name": "Asynchronous Processor",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "knapsack",
        "bit set"
      ],
      "tag_keys": [
        "knapsack",
        "bitset"
      ],
      "tag_details": [
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "bitset",
          "name": "bit set",
          "boj_tag_id": 152
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "B",
      "problem_id": 35019,
      "problem_name": "Bounding Boxes",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation",
        "sorting",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "sorting",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "C",
      "problem_id": 35020,
      "problem_name": "Compact Encoding",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "bitmask"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "D",
      "problem_id": 35021,
      "problem_name": "Defense Distance",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "E",
      "problem_id": 35022,
      "problem_name": "Eight-Connected Figures",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4631,
      "problem_letter": "F",
      "problem_id": 35023,
      "problem_name": "Faulty Fraction",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "binary search",
        "arbitrary precision / big integers"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "arbitrary_precision"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "arbitrary_precision",
          "name": "arbitrary precision / big integers",
          "boj_tag_id": 117
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "G",
      "problem_id": 35024,
      "problem_name": "Games of Chess",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4631,
      "problem_letter": "H",
      "problem_id": 35025,
      "problem_name": "High Score",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "dp",
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "I",
      "problem_id": 35026,
      "problem_name": "Infection Investigation",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "divide and conquer",
        "square root decomposition",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "ad_hoc",
        "divide_and_conquer",
        "sqrt_decomposition",
        "lis"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "J",
      "problem_id": 35027,
      "problem_name": "Judging Problem",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "implementation",
        "data structures",
        "set / map",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "set",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4631,
      "problem_letter": "K",
      "problem_id": 35028,
      "problem_name": "Keys and Grates",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4631,
      "problem_letter": "L",
      "problem_id": 35029,
      "problem_name": "Lucky Number Theory",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "A",
      "problem_id": 35039,
      "problem_name": "Alphabet City",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "B",
      "problem_id": 35040,
      "problem_name": "Battle of Arrays",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "data structures",
        "greedy",
        "set / map",
        "simulation",
        "priority queue",
        "set / map by trees"
      ],
      "tag_keys": [
        "implementation",
        "data_structures",
        "greedy",
        "set",
        "simulation",
        "priority_queue",
        "tree_set"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "C",
      "problem_id": 35041,
      "problem_name": "Cacti Classification",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4633,
      "problem_letter": "D",
      "problem_id": 35042,
      "problem_name": "Doorway",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "sorting",
        "segment tree",
        "priority queue"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "segtree",
        "priority_queue"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "priority_queue",
          "name": "priority queue",
          "boj_tag_id": 59
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "E",
      "problem_id": 35043,
      "problem_name": "Elevator Against Humanity",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "greedy",
        "case work"
      ],
      "tag_keys": [
        "greedy",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "F",
      "problem_id": 35044,
      "problem_name": "Fragmented Nim",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "game theory"
      ],
      "tag_keys": [
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "G",
      "problem_id": 35045,
      "problem_name": "Greta's Game",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "binary search",
        "prefix sum",
        "parametric search",
        "difference array"
      ],
      "tag_keys": [
        "binary_search",
        "prefix_sum",
        "parametric_search",
        "difference_array"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        },
        {
          "key": "difference_array",
          "name": "difference array",
          "boj_tag_id": 239
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "H",
      "problem_id": 35046,
      "problem_name": "Honey Cake",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "greedy",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "I",
      "problem_id": 35047,
      "problem_name": "Irrigation Interlock",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4633,
      "problem_letter": "J",
      "problem_id": 35048,
      "problem_name": "Jinx or Jackpot",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "K",
      "problem_id": 35049,
      "problem_name": "Knit the Grid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4633,
      "problem_letter": "L",
      "problem_id": 35050,
      "problem_name": "LLM Training",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "string",
        "smaller to larger technique",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "smaller_to_larger",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4633,
      "problem_letter": "M",
      "problem_id": 35051,
      "problem_name": "Medical Parity",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "A",
      "problem_id": 35072,
      "problem_name": "Arcade Crane",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "bruteforcing",
        "graph traversal",
        "constructive",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "bruteforcing",
        "graph_traversal",
        "constructive",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "B",
      "problem_id": 35073,
      "problem_name": "Bisecting Bargain",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "number theory",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "C",
      "problem_id": 35074,
      "problem_name": "Canal Crossing",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "D",
      "problem_id": 35075,
      "problem_name": "Dreamcatcher",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "E",
      "problem_id": 35076,
      "problem_name": "Erratic Lights",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "F",
      "problem_id": 35077,
      "problem_name": "Fair Share",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "G",
      "problem_id": 35078,
      "problem_name": "Group Photo",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "longest increasing sequence problem"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "lis"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lis",
          "name": "longest increasing sequence problem",
          "boj_tag_id": 43
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "H",
      "problem_id": 35079,
      "problem_name": "",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4637,
      "problem_letter": "I",
      "problem_id": 35080,
      "problem_name": "Illuminated Stalls",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "data structures",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "J",
      "problem_id": 35081,
      "problem_name": "Juggling Keys",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "greedy",
        "sorting",
        "constructive",
        "sweeping"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "constructive",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "K",
      "problem_id": 35082,
      "problem_name": "KIT Finding",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "L",
      "problem_id": 35083,
      "problem_name": "Last Christmas",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "A",
      "problem_id": 35069,
      "problem_name": "Atlantic Email",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "B",
      "problem_id": 35070,
      "problem_name": "Build Dependencies",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "set / map",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "set",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4637,
      "problem_letter": "C",
      "problem_id": 35071,
      "problem_name": "Circular Shortcut",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "geometry",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "A",
      "problem_id": 35084,
      "problem_name": "Around the Table",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "B",
      "problem_id": 35085,
      "problem_name": "Bustling Busride",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "greedy",
        "segment tree",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "segtree",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "C",
      "problem_id": 35086,
      "problem_name": "Congklak",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4638,
      "problem_letter": "D",
      "problem_id": 35087,
      "problem_name": "Demand for Cycling",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "ad-hoc",
        "geometry"
      ],
      "tag_keys": [
        "ad_hoc",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "E",
      "problem_id": 35088,
      "problem_name": "Engineering Excellence",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "geometry",
        "case work"
      ],
      "tag_keys": [
        "geometry",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "F",
      "problem_id": 35089,
      "problem_name": "Fair and Square",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "G",
      "problem_id": 35090,
      "problem_name": "Generating Cool Passwords Company",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "string",
        "randomization"
      ],
      "tag_keys": [
        "string",
        "randomization"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "H",
      "problem_id": 35091,
      "problem_name": "Happy Hookup",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search",
        "depth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs",
        "dfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "I",
      "problem_id": 35092,
      "problem_name": "Island Urbanism",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4638,
      "problem_letter": "J",
      "problem_id": 35093,
      "problem_name": "Jumbled Packets",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "constructive",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "K",
      "problem_id": 35094,
      "problem_name": "Karlsruhe Skyline",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "L",
      "problem_id": 35095,
      "problem_name": "Labour Laws",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "ad-hoc",
        "case work"
      ],
      "tag_keys": [
        "ad_hoc",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4638,
      "problem_letter": "M",
      "problem_id": 35096,
      "problem_name": "Mex Hex",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "A",
      "problem_id": 35097,
      "problem_name": "2025",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "B",
      "problem_id": 35098,
      "problem_name": "Prefix and Suffix Can Be the Same",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "C",
      "problem_id": 35099,
      "problem_name": "Calendar of an Enthusiastic Worker",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "D",
      "problem_id": 35100,
      "problem_name": "Ancient Game Board",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "E",
      "problem_id": 35101,
      "problem_name": "To Be Discontinued",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "greedy",
        "tree"
      ],
      "tag_keys": [
        "greedy",
        "trees"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "F",
      "problem_id": 35102,
      "problem_name": "Dog Tricks",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "constructive"
      ],
      "tag_keys": [
        "constructive"
      ],
      "tag_details": [
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4641,
      "problem_letter": "G",
      "problem_id": 35103,
      "problem_name": "Number of Faces",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4641,
      "problem_letter": "H",
      "problem_id": 35104,
      "problem_name": "Parentheses",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4641,
      "problem_letter": "I",
      "problem_id": 35105,
      "problem_name": "Preparing the Lunch",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree",
        "finding invariants"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "invariant"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "invariant",
          "name": "finding invariants",
          "boj_tag_id": 229
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "A",
      "problem_id": 35119,
      "problem_name": "Tatami Renovation",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "greedy",
        "sweeping"
      ],
      "tag_keys": [
        "greedy",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "B",
      "problem_id": 35120,
      "problem_name": "Minimizing Wildlife Damage",
      "problem_difficulty": "Diamond II",
      "difficulty_level": 24,
      "tags": [
        "dynamic programming",
        "convex hull trick"
      ],
      "tag_keys": [
        "dp",
        "cht"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "C",
      "problem_id": 35121,
      "problem_name": "Seagull Population",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy",
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "D",
      "problem_id": 35122,
      "problem_name": "Decompose and Concatenate",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "E",
      "problem_id": 35123,
      "problem_name": "Cutting Tofu",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "F",
      "problem_id": 35124,
      "problem_name": "Astral Geometry",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "geometry",
        "linear algebra",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "linear_algebra",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "linear_algebra",
          "name": "linear algebra",
          "boj_tag_id": 144
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "G",
      "problem_id": 35125,
      "problem_name": "Charity Raffle",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "combinatorics",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "H",
      "problem_id": 35126,
      "problem_name": "U-Shaped Panels",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "implementation",
        "bruteforcing",
        "ad-hoc",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "ad_hoc",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "I",
      "problem_id": 35127,
      "problem_name": "Game of Names",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "game theory"
      ],
      "tag_keys": [
        "ad_hoc",
        "game_theory"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "J",
      "problem_id": 35128,
      "problem_name": "ICPC Board",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "ad-hoc"
      ],
      "tag_keys": [
        "implementation",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "K",
      "problem_id": 35129,
      "problem_name": "Membership Structure of a Secret Society",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "graph traversal"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        }
      ]
    },
    {
      "contest_id": 4643,
      "problem_letter": "L",
      "problem_id": 35130,
      "problem_name": "Common Tangent Lines",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4644,
      "problem_letter": "A",
      "problem_id": 35131,
      "problem_name": "National Science Olympiad",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "B",
      "problem_id": 35132,
      "problem_name": "Construct BFS Graph",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "graph theory",
        "greedy",
        "graph traversal",
        "constructive",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "graph_traversal",
        "constructive",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "C",
      "problem_id": 35133,
      "problem_name": "Polynomially Constructed",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "greedy",
        "calculus"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "calculus"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "calculus",
          "name": "calculus",
          "boj_tag_id": 111
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "D",
      "problem_id": 35134,
      "problem_name": "Divido Travel",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "graph theory",
        "shortest path",
        "dijkstra's"
      ],
      "tag_keys": [
        "graphs",
        "shortest_path",
        "dijkstra"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "E",
      "problem_id": 35135,
      "problem_name": "Xordition Robot",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "F",
      "problem_id": 35136,
      "problem_name": "Food Rating",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "number theory",
        "constructive",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "constructive",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "G",
      "problem_id": 35137,
      "problem_name": "Mex XOR",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "data structures",
        "binary search",
        "set / map",
        "bitmask"
      ],
      "tag_keys": [
        "data_structures",
        "binary_search",
        "set",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "H",
      "problem_id": 35138,
      "problem_name": "Light Control System",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "segment tree",
        "binary search",
        "two-pointer",
        "offline queries",
        "sparse table",
        "xor basis (gf(2))"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "binary_search",
        "two_pointer",
        "offline_queries",
        "sparse_table",
        "xor_basis"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "xor_basis",
          "name": "xor basis (gf(2))",
          "boj_tag_id": 236
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "I",
      "problem_id": 35139,
      "problem_name": "Rectangular Pool",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "J",
      "problem_id": 35140,
      "problem_name": "Mediation",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "graph theory",
        "graph traversal",
        "combinatorics",
        "breadth-first search"
      ],
      "tag_keys": [
        "math",
        "graphs",
        "graph_traversal",
        "combinatorics",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "K",
      "problem_id": 35141,
      "problem_name": "Palindrome Partition",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "implementation",
        "greedy",
        "string",
        "constructive"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "string",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "L",
      "problem_id": 35142,
      "problem_name": "Honourable Arrays",
      "problem_difficulty": "Diamond III",
      "difficulty_level": 23,
      "tags": [
        "mathematics",
        "number theory",
        "fast fourier transform",
        "generating function",
        "discrete logarithm"
      ],
      "tag_keys": [
        "math",
        "number_theory",
        "fft",
        "generating_function",
        "discrete_log"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "fft",
          "name": "fast fourier transform",
          "boj_tag_id": 28
        },
        {
          "key": "generating_function",
          "name": "generating function",
          "boj_tag_id": 198
        },
        {
          "key": "discrete_log",
          "name": "discrete logarithm",
          "boj_tag_id": 146
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "PA",
      "problem_id": 33106,
      "problem_name": "Problem C",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "PB",
      "problem_id": 33109,
      "problem_name": "Treasure Lair",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4644,
      "problem_letter": "PC",
      "problem_id": 33112,
      "problem_name": "Graph Director",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4644,
      "problem_letter": "PD",
      "problem_id": 33118,
      "problem_name": "ICPC Provincial",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "sorting",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "A",
      "problem_id": 35166,
      "problem_name": "A. Nihilation",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "B",
      "problem_id": 35167,
      "problem_name": "Burning Blocks",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "dynamic programming",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "C",
      "problem_id": 35168,
      "problem_name": "Binary Grid",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "greedy",
        "constructive"
      ],
      "tag_keys": [
        "greedy",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "D",
      "problem_id": 35169,
      "problem_name": "Count DFS Graph",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "E",
      "problem_id": 35170,
      "problem_name": "Mugen E",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "dynamic programming",
        "string",
        "hashing",
        "z"
      ],
      "tag_keys": [
        "dp",
        "string",
        "hashing",
        "z"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "z",
          "name": "z",
          "boj_tag_id": 83
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "F",
      "problem_id": 35171,
      "problem_name": "Two Sets",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "ad-hoc"
      ],
      "tag_keys": [
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "G",
      "problem_id": 35172,
      "problem_name": "Grid Game 2×2",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "game theory",
        "sprague–grundy theorem"
      ],
      "tag_keys": [
        "game_theory",
        "sprague_grundy"
      ],
      "tag_details": [
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "sprague_grundy",
          "name": "sprague–grundy theorem",
          "boj_tag_id": 70
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "H",
      "problem_id": 35173,
      "problem_name": "Maximeter",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "I",
      "problem_id": 35174,
      "problem_name": "International Olympiad in ICPC",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "binary search",
        "divide and conquer",
        "two-pointer",
        "divide and conquer optimization"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "binary_search",
        "divide_and_conquer",
        "two_pointer",
        "divide_and_conquer_optimization"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "two_pointer",
          "name": "two-pointer",
          "boj_tag_id": 80
        },
        {
          "key": "divide_and_conquer_optimization",
          "name": "divide and conquer optimization",
          "boj_tag_id": 91
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "J",
      "problem_id": 35175,
      "problem_name": "AND and/or OR",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "ad-hoc",
        "bitmask"
      ],
      "tag_keys": [
        "ad_hoc",
        "bitmask"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "bitmask",
          "name": "bitmask",
          "boj_tag_id": 14
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "K",
      "problem_id": 35176,
      "problem_name": "Travelling Taro Trains",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "L",
      "problem_id": 35177,
      "problem_name": "Down Right Chips",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "M",
      "problem_id": 35178,
      "problem_name": "Predisposed",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "PA",
      "problem_id": 33119,
      "problem_name": "Scrambled Scrabble",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "PB",
      "problem_id": 33121,
      "problem_name": "Saraga",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "greedy",
        "string"
      ],
      "tag_keys": [
        "greedy",
        "string"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "PC",
      "problem_id": 33127,
      "problem_name": "Microwavable Subsequence",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "sweeping"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4648,
      "problem_letter": "PD",
      "problem_id": 33123,
      "problem_name": "Narrower Passageway",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "data structures",
        "number theory",
        "segment tree",
        "binary search",
        "probability theory",
        "inclusion and exclusion",
        "sparse table",
        "modular multiplicative inverse",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "data_structures",
        "number_theory",
        "segtree",
        "binary_search",
        "probability",
        "inclusion_and_exclusion",
        "sparse_table",
        "modular_multiplicative_inverse",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        },
        {
          "key": "sparse_table",
          "name": "sparse table",
          "boj_tag_id": 84
        },
        {
          "key": "modular_multiplicative_inverse",
          "name": "modular multiplicative inverse",
          "boj_tag_id": 164
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "A",
      "problem_id": 35192,
      "problem_name": "Alto Adaptation",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "dynamic programming",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "dp",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "B",
      "problem_id": 35193,
      "problem_name": "Bottle of New Port",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "C",
      "problem_id": 35194,
      "problem_name": "Calculation Obfuscation",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4651,
      "problem_letter": "D",
      "problem_id": 35195,
      "problem_name": "Dralinpome",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "string",
        "parity"
      ],
      "tag_keys": [
        "string",
        "parity"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "E",
      "problem_id": 35196,
      "problem_name": "Entropy Evasion",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "greedy",
        "bruteforcing",
        "prefix sum",
        "probability theory",
        "maximum subarray",
        "statistics"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "bruteforcing",
        "prefix_sum",
        "probability",
        "maximum_subarray",
        "statistics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "maximum_subarray",
          "name": "maximum subarray",
          "boj_tag_id": 234
        },
        {
          "key": "statistics",
          "name": "statistics",
          "boj_tag_id": 178
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "F",
      "problem_id": 35197,
      "problem_name": "Friendly Formation",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "dynamic programming",
        "graph theory",
        "graph traversal",
        "constructive",
        "breadth-first search",
        "knapsack",
        "traceback",
        "bipartite graph"
      ],
      "tag_keys": [
        "dp",
        "graphs",
        "graph_traversal",
        "constructive",
        "bfs",
        "knapsack",
        "traceback",
        "bipartite_graph"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "knapsack",
          "name": "knapsack",
          "boj_tag_id": 148
        },
        {
          "key": "traceback",
          "name": "traceback",
          "boj_tag_id": 235
        },
        {
          "key": "bipartite_graph",
          "name": "bipartite graph",
          "boj_tag_id": 197
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "G",
      "problem_id": 35198,
      "problem_name": "Genealogy Gumbo",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4651,
      "problem_letter": "H",
      "problem_id": 35199,
      "problem_name": "Hidden Sequence",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "I",
      "problem_id": 35200,
      "problem_name": "Ingredient Intervals",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4651,
      "problem_letter": "J",
      "problem_id": 35201,
      "problem_name": "Journal Publication",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_keys": [
        "greedy",
        "string",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "K",
      "problem_id": 35202,
      "problem_name": "Koehandel",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4651,
      "problem_letter": "L",
      "problem_id": 35203,
      "problem_name": "Landgrave",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "greedy",
        "geometry",
        "convex hull"
      ],
      "tag_keys": [
        "greedy",
        "geometry",
        "convex_hull"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "convex_hull",
          "name": "convex hull",
          "boj_tag_id": 20
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "A",
      "problem_id": 35204,
      "problem_name": "Accidental Arithmetic",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "mathematics",
        "probability theory",
        "linearity of expectation"
      ],
      "tag_keys": [
        "math",
        "probability",
        "linearity_of_expectation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        },
        {
          "key": "linearity_of_expectation",
          "name": "linearity of expectation",
          "boj_tag_id": 179
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "B",
      "problem_id": 35205,
      "problem_name": "Boggle Sort",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "C",
      "problem_id": 35206,
      "problem_name": "Coherency",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "sorting",
        "ad-hoc",
        "geometry",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "sorting",
        "ad_hoc",
        "geometry",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "D",
      "problem_id": 35207,
      "problem_name": "Duo Detection",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "square root decomposition"
      ],
      "tag_keys": [
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "E",
      "problem_id": 35208,
      "problem_name": "Excruciating Elevators",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "bruteforcing"
      ],
      "tag_keys": [
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "F",
      "problem_id": 35209,
      "problem_name": "Faulty Connection",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "G",
      "problem_id": 35210,
      "problem_name": "Garbage In, Garbage Out",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "string",
        "randomization",
        "heuristics"
      ],
      "tag_keys": [
        "string",
        "randomization",
        "heuristics"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "randomization",
          "name": "randomization",
          "boj_tag_id": 115
        },
        {
          "key": "heuristics",
          "name": "heuristics",
          "boj_tag_id": 142
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "H",
      "problem_id": 35211,
      "problem_name": "Homesick",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "breadth-first search"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "bfs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "I",
      "problem_id": 35212,
      "problem_name": "Intermill Logistics",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "greedy",
        "sorting",
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "greedy",
        "sorting",
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "J",
      "problem_id": 35213,
      "problem_name": "Jacobi Numbers",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "K",
      "problem_id": 35214,
      "problem_name": "Knowing the Clock",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4652,
      "problem_letter": "L",
      "problem_id": 35215,
      "problem_name": "Linguistic Labyrinth",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics",
        "geometry",
        "combinatorics",
        "geometry; 3d"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "combinatorics",
        "geometry_3d"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "geometry_3d",
          "name": "geometry; 3d",
          "boj_tag_id": 131
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "A",
      "problem_id": 35216,
      "problem_name": "Arithmetic Adaptation",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "B",
      "problem_id": 35217,
      "problem_name": "Bohemian Bookshelf",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "C",
      "problem_id": 35218,
      "problem_name": "Crochet Competition",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "case work"
      ],
      "tag_keys": [
        "implementation",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "D",
      "problem_id": 35219,
      "problem_name": "Dune Dash",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "sorting",
        "ad-hoc",
        "geometry"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "E",
      "problem_id": 35220,
      "problem_name": "Egyptian Equality",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "F",
      "problem_id": 35221,
      "problem_name": "Follower Forensics",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "data structures",
        "greedy",
        "disjoint set",
        "smaller to larger technique"
      ],
      "tag_keys": [
        "data_structures",
        "greedy",
        "disjoint_set",
        "smaller_to_larger"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        },
        {
          "key": "smaller_to_larger",
          "name": "smaller to larger technique",
          "boj_tag_id": 169
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "G",
      "problem_id": 35222,
      "problem_name": "Gotta Trade Some of 'Em",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "graph theory",
        "graph traversal",
        "constructive",
        "flood-fill"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "constructive",
        "flood_fill"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "flood_fill",
          "name": "flood-fill",
          "boj_tag_id": 210
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "H",
      "problem_id": 35223,
      "problem_name": "Hidden Permutation",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "backtracking"
      ],
      "tag_keys": [
        "backtracking"
      ],
      "tag_details": [
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "I",
      "problem_id": 35224,
      "problem_name": "Instagraph",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "data structures",
        "graph theory",
        "set / map"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "J",
      "problem_id": 35225,
      "problem_name": "Jump",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4653,
      "problem_letter": "K",
      "problem_id": 35226,
      "problem_name": "km/h",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "implementation"
      ],
      "tag_keys": [
        "math",
        "implementation"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "A",
      "problem_id": 35227,
      "problem_name": "Adjusting Drones",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "data structures",
        "sweeping",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "sweeping",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "B",
      "problem_id": 35228,
      "problem_name": "Billion Players Game",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "greedy",
        "sorting"
      ],
      "tag_keys": [
        "math",
        "greedy",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "C",
      "problem_id": 35229,
      "problem_name": "Chamber of Secrets 2",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "graph theory",
        "greedy",
        "constructive",
        "parity"
      ],
      "tag_keys": [
        "graphs",
        "greedy",
        "constructive",
        "parity"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "D",
      "problem_id": 35230,
      "problem_name": "Dungeon Equilibrium",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "E",
      "problem_id": 35231,
      "problem_name": "Expansion Plan 2",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "prefix sum"
      ],
      "tag_keys": [
        "math",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "F",
      "problem_id": 35232,
      "problem_name": "Factory Table",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics"
      ],
      "tag_keys": [
        "math"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "G",
      "problem_id": 35233,
      "problem_name": "Git Gud",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "ad-hoc",
        "constructive",
        "square root decomposition"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive",
        "sqrt_decomposition"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "sqrt_decomposition",
          "name": "square root decomposition",
          "boj_tag_id": 130
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "H",
      "problem_id": 35234,
      "problem_name": "Hyper Smawk Bros",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "ad-hoc",
        "backtracking",
        "game theory",
        "recursion"
      ],
      "tag_keys": [
        "ad_hoc",
        "backtracking",
        "game_theory",
        "recursion"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "game_theory",
          "name": "game theory",
          "boj_tag_id": 140
        },
        {
          "key": "recursion",
          "name": "recursion",
          "boj_tag_id": 62
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "I",
      "problem_id": 35235,
      "problem_name": "Isaac’s Queries",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "dynamic programming",
        "bruteforcing",
        "constructive"
      ],
      "tag_keys": [
        "math",
        "dp",
        "bruteforcing",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "J",
      "problem_id": 35236,
      "problem_name": "Jewels Building",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "dynamic programming",
        "ad-hoc",
        "prefix sum"
      ],
      "tag_keys": [
        "dp",
        "ad_hoc",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4654,
      "problem_letter": "K",
      "problem_id": 35237,
      "problem_name": "Keygen 3",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4654,
      "problem_letter": "L",
      "problem_id": 35238,
      "problem_name": "LFS",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "prefix sum",
        "hashing"
      ],
      "tag_keys": [
        "prefix_sum",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "A",
      "problem_id": 35239,
      "problem_name": "Arboreal Challenge",
      "problem_difficulty": "Diamond I",
      "difficulty_level": 25,
      "tags": [
        "mathematics",
        "geometry",
        "binary search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "B",
      "problem_id": 35240,
      "problem_name": "Brickwork",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "sorting",
        "sweeping"
      ],
      "tag_keys": [
        "sorting",
        "sweeping"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "C",
      "problem_id": 35241,
      "problem_name": "Colourful Captcha",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4655,
      "problem_letter": "D",
      "problem_id": 35242,
      "problem_name": "Depot",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4655,
      "problem_letter": "E",
      "problem_id": 35243,
      "problem_name": "Enclosure",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "geometry",
        "area of a polygon"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "polygon_area"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "polygon_area",
          "name": "area of a polygon",
          "boj_tag_id": 3
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "F",
      "problem_id": 35244,
      "problem_name": "Fell Walking",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "data structures",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "G",
      "problem_id": 35245,
      "problem_name": "Get Good",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "case work"
      ],
      "tag_keys": [
        "math",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "H",
      "problem_id": 35246,
      "problem_name": "Hybrid Search",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4655,
      "problem_letter": "I",
      "problem_id": 35247,
      "problem_name": "Itsy Bits",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "J",
      "problem_id": 35248,
      "problem_name": "Joust Sort",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory",
        "directed acyclic graph",
        "topological sorting"
      ],
      "tag_keys": [
        "graphs",
        "dag",
        "topological_sorting"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "dag",
          "name": "directed acyclic graph",
          "boj_tag_id": 213
        },
        {
          "key": "topological_sorting",
          "name": "topological sorting",
          "boj_tag_id": 78
        }
      ]
    },
    {
      "contest_id": 4655,
      "problem_letter": "K",
      "problem_id": 35249,
      "problem_name": "Klaus",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4655,
      "problem_letter": "L",
      "problem_id": 35250,
      "problem_name": "Last Orders",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4655,
      "problem_letter": "M",
      "problem_id": 35251,
      "problem_name": "Motorway Stops",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy"
      ],
      "tag_keys": [
        "implementation",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "A",
      "problem_id": 32841,
      "problem_name": "Welcome Sign",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "B",
      "problem_id": 32842,
      "problem_name": "Triangles of a Square",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "C",
      "problem_id": 32843,
      "problem_name": "City Bike",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "D",
      "problem_id": 32844,
      "problem_name": "Duel of Cards",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "E",
      "problem_id": 32845,
      "problem_name": "Elevated Rails",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "F",
      "problem_id": 32846,
      "problem_name": "Finding Keys",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "G",
      "problem_id": 32847,
      "problem_name": "Intergalactic Team",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "H",
      "problem_id": 32848,
      "problem_name": "Herb Mixing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "I",
      "problem_id": 32849,
      "problem_name": "Island Memories",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "J",
      "problem_id": 32850,
      "problem_name": "Perfect Squares",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "K",
      "problem_id": 32851,
      "problem_name": "Optimized Cheating",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "arithmetic",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "arithmetic",
        "bfs",
        "graphs",
        "graph_traversal",
        "math",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "L",
      "problem_id": 32852,
      "problem_name": "Pianissimo",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4675,
      "problem_letter": "M",
      "problem_id": 32853,
      "problem_name": "Virtual Reality Playspace",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "A",
      "problem_id": 32841,
      "problem_name": "Welcome Sign",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "B",
      "problem_id": 32842,
      "problem_name": "Triangles of a Square",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "C",
      "problem_id": 32854,
      "problem_name": "Traffic Lights",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "D",
      "problem_id": 32844,
      "problem_name": "Duel of Cards",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "E",
      "problem_id": 32855,
      "problem_name": "Which One is Larger",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "F",
      "problem_id": 32856,
      "problem_name": "Office Building",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "G",
      "problem_id": 32847,
      "problem_name": "Intergalactic Team",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "H",
      "problem_id": 32848,
      "problem_name": "Herb Mixing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "I",
      "problem_id": 32849,
      "problem_name": "Island Memories",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "J",
      "problem_id": 32850,
      "problem_name": "Perfect Squares",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "K",
      "problem_id": 32851,
      "problem_name": "Optimized Cheating",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "arithmetic",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "arithmetic",
        "bfs",
        "graphs",
        "graph_traversal",
        "math",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "L",
      "problem_id": 32852,
      "problem_name": "Pianissimo",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4676,
      "problem_letter": "M",
      "problem_id": 32857,
      "problem_name": "Memories of Passport Stamps",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "A",
      "problem_id": 32841,
      "problem_name": "Welcome Sign",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "B",
      "problem_id": 32842,
      "problem_name": "Triangles of a Square",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "C",
      "problem_id": 32843,
      "problem_name": "City Bike",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "binary search"
      ],
      "tag_keys": [
        "binary_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "D",
      "problem_id": 32844,
      "problem_name": "Duel of Cards",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "E",
      "problem_id": 32845,
      "problem_name": "Elevated Rails",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "graph theory",
        "graph traversal",
        "tree",
        "depth-first search",
        "diameter of a tree"
      ],
      "tag_keys": [
        "graphs",
        "graph_traversal",
        "trees",
        "dfs",
        "tree_diameter"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dfs",
          "name": "depth-first search",
          "boj_tag_id": 127
        },
        {
          "key": "tree_diameter",
          "name": "diameter of a tree",
          "boj_tag_id": 222
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "F",
      "problem_id": 32846,
      "problem_name": "Finding Keys",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "string",
        "suffix array and lcp array"
      ],
      "tag_keys": [
        "string",
        "suffix_array"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "suffix_array",
          "name": "suffix array and lcp array",
          "boj_tag_id": 77
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "G",
      "problem_id": 32847,
      "problem_name": "Intergalactic Team",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "H",
      "problem_id": 32848,
      "problem_name": "Herb Mixing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "I",
      "problem_id": 32849,
      "problem_name": "Island Memories",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "J",
      "problem_id": 32850,
      "problem_name": "Perfect Squares",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "K",
      "problem_id": 32851,
      "problem_name": "Optimized Cheating",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "arithmetic",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "arithmetic",
        "bfs",
        "graphs",
        "graph_traversal",
        "math",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "L",
      "problem_id": 32852,
      "problem_name": "Pianissimo",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4677,
      "problem_letter": "M",
      "problem_id": 32853,
      "problem_name": "Virtual Reality Playspace",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "stack"
      ],
      "tag_keys": [
        "data_structures",
        "stack"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "stack",
          "name": "stack",
          "boj_tag_id": 71
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "A",
      "problem_id": 32841,
      "problem_name": "Welcome Sign",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "B",
      "problem_id": 32842,
      "problem_name": "Triangles of a Square",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "geometry"
      ],
      "tag_keys": [
        "geometry"
      ],
      "tag_details": [
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "C",
      "problem_id": 32854,
      "problem_name": "Traffic Lights",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "D",
      "problem_id": 32844,
      "problem_name": "Duel of Cards",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "E",
      "problem_id": 32855,
      "problem_name": "Which One is Larger",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "mathematics",
        "implementation",
        "string",
        "parsing"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "string",
        "parsing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "parsing",
          "name": "parsing",
          "boj_tag_id": 96
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "F",
      "problem_id": 32856,
      "problem_name": "Office Building",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "implementation",
        "bruteforcing"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "G",
      "problem_id": 32847,
      "problem_name": "Intergalactic Team",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "set / map",
        "disjoint set"
      ],
      "tag_keys": [
        "data_structures",
        "set",
        "disjoint_set"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "disjoint_set",
          "name": "disjoint set",
          "boj_tag_id": 81
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "H",
      "problem_id": 32848,
      "problem_name": "Herb Mixing",
      "problem_difficulty": "Silver V",
      "difficulty_level": 6,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "I",
      "problem_id": 32849,
      "problem_name": "Island Memories",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "implementation",
        "tree"
      ],
      "tag_keys": [
        "implementation",
        "trees"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "J",
      "problem_id": 32850,
      "problem_name": "Perfect Squares",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "primality test",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "primality_test",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "primality_test",
          "name": "primality test",
          "boj_tag_id": 9
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "K",
      "problem_id": 32851,
      "problem_name": "Optimized Cheating",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "arithmetic",
        "breadth-first search",
        "graph theory",
        "graph traversal",
        "mathematics",
        "pigeonhole principle"
      ],
      "tag_keys": [
        "arithmetic",
        "bfs",
        "graphs",
        "graph_traversal",
        "math",
        "pigeonhole_principle"
      ],
      "tag_details": [
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "bfs",
          "name": "breadth-first search",
          "boj_tag_id": 126
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "pigeonhole_principle",
          "name": "pigeonhole principle",
          "boj_tag_id": 189
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "L",
      "problem_id": 32852,
      "problem_name": "Pianissimo",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "implementation",
        "sorting"
      ],
      "tag_keys": [
        "implementation",
        "sorting"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        }
      ]
    },
    {
      "contest_id": 4678,
      "problem_letter": "M",
      "problem_id": 32857,
      "problem_name": "Memories of Passport Stamps",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "binary search",
        "parametric search"
      ],
      "tag_keys": [
        "binary_search",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "A",
      "problem_id": 35354,
      "problem_name": "Orchard Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4679,
      "problem_letter": "B",
      "problem_id": 35355,
      "problem_name": "Blind Bottles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "C",
      "problem_id": 35356,
      "problem_name": "One Way Only",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "D",
      "problem_id": 35357,
      "problem_name": "GUID Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "hashing",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "hashing",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "E",
      "problem_id": 35358,
      "problem_name": "Photo Encoding",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "F",
      "problem_id": 35359,
      "problem_name": "Meeting Free Fridays",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "G",
      "problem_id": 35360,
      "problem_name": "Galaxy Governance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4679,
      "problem_letter": "H",
      "problem_id": 35361,
      "problem_name": "Rows of Stars",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "I",
      "problem_id": 35362,
      "problem_name": "Manhattan Interference",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4679,
      "problem_letter": "J",
      "problem_id": 35363,
      "problem_name": "Game of Nines",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "K",
      "problem_id": 35364,
      "problem_name": "Swap for Palindrome",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "prefix sum",
        "case work"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4679,
      "problem_letter": "L",
      "problem_id": 35365,
      "problem_name": "Tree Racing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4679,
      "problem_letter": "M",
      "problem_id": 35366,
      "problem_name": "Much Room for Mushrooms",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "A",
      "problem_id": 35367,
      "problem_name": "Snakey String",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "B",
      "problem_id": 35355,
      "problem_name": "Blind Bottles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "C",
      "problem_id": 35356,
      "problem_name": "One Way Only",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "D",
      "problem_id": 35357,
      "problem_name": "GUID Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "hashing",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "hashing",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "E",
      "problem_id": 35358,
      "problem_name": "Photo Encoding",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "F",
      "problem_id": 35368,
      "problem_name": "Breakout",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "G",
      "problem_id": 35369,
      "problem_name": "Shinjuku Station",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "H",
      "problem_id": 35370,
      "problem_name": "Memories of Passport Control",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "I",
      "problem_id": 35371,
      "problem_name": "Inazuma Cube Device",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "J",
      "problem_id": 35363,
      "problem_name": "Game of Nines",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "K",
      "problem_id": 35364,
      "problem_name": "Swap for Palindrome",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "prefix sum",
        "case work"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "L",
      "problem_id": 35372,
      "problem_name": "Moonlit Time Machine",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4680,
      "problem_letter": "M",
      "problem_id": 35366,
      "problem_name": "Much Room for Mushrooms",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "A",
      "problem_id": 35354,
      "problem_name": "Orchard Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4681,
      "problem_letter": "B",
      "problem_id": 35355,
      "problem_name": "Blind Bottles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "C",
      "problem_id": 35356,
      "problem_name": "One Way Only",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "D",
      "problem_id": 35357,
      "problem_name": "GUID Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "hashing",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "hashing",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "E",
      "problem_id": 35358,
      "problem_name": "Photo Encoding",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "F",
      "problem_id": 35359,
      "problem_name": "Meeting Free Fridays",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "G",
      "problem_id": 35360,
      "problem_name": "Galaxy Governance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4681,
      "problem_letter": "H",
      "problem_id": 35361,
      "problem_name": "Rows of Stars",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "I",
      "problem_id": 35362,
      "problem_name": "Manhattan Interference",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4681,
      "problem_letter": "J",
      "problem_id": 35363,
      "problem_name": "Game of Nines",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "K",
      "problem_id": 35364,
      "problem_name": "Swap for Palindrome",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "prefix sum",
        "case work"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4681,
      "problem_letter": "L",
      "problem_id": 35365,
      "problem_name": "Tree Racing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4681,
      "problem_letter": "M",
      "problem_id": 35366,
      "problem_name": "Much Room for Mushrooms",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "A",
      "problem_id": 35367,
      "problem_name": "Snakey String",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "B",
      "problem_id": 35355,
      "problem_name": "Blind Bottles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "C",
      "problem_id": 35356,
      "problem_name": "One Way Only",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "D",
      "problem_id": 35357,
      "problem_name": "GUID Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "hashing",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "hashing",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "E",
      "problem_id": 35358,
      "problem_name": "Photo Encoding",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "F",
      "problem_id": 35368,
      "problem_name": "Breakout",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "G",
      "problem_id": 35369,
      "problem_name": "Shinjuku Station",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "H",
      "problem_id": 35370,
      "problem_name": "Memories of Passport Control",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "I",
      "problem_id": 35371,
      "problem_name": "Inazuma Cube Device",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "J",
      "problem_id": 35363,
      "problem_name": "Game of Nines",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "K",
      "problem_id": 35364,
      "problem_name": "Swap for Palindrome",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "prefix sum",
        "case work"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "L",
      "problem_id": 35372,
      "problem_name": "Moonlit Time Machine",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4682,
      "problem_letter": "M",
      "problem_id": 35366,
      "problem_name": "Much Room for Mushrooms",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "A",
      "problem_id": 35354,
      "problem_name": "Orchard Fence",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4683,
      "problem_letter": "B",
      "problem_id": 35355,
      "problem_name": "Blind Bottles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "C",
      "problem_id": 35356,
      "problem_name": "One Way Only",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "D",
      "problem_id": 35357,
      "problem_name": "GUID Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "hashing",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "hashing",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "E",
      "problem_id": 35358,
      "problem_name": "Photo Encoding",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "F",
      "problem_id": 35359,
      "problem_name": "Meeting Free Fridays",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "G",
      "problem_id": 35360,
      "problem_name": "Galaxy Governance",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4683,
      "problem_letter": "H",
      "problem_id": 35361,
      "problem_name": "Rows of Stars",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "implementation",
        "prefix sum",
        "sliding window"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum",
        "sliding_window"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "sliding_window",
          "name": "sliding window",
          "boj_tag_id": 68
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "I",
      "problem_id": 35362,
      "problem_name": "Manhattan Interference",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4683,
      "problem_letter": "J",
      "problem_id": 35363,
      "problem_name": "Game of Nines",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "K",
      "problem_id": 35364,
      "problem_name": "Swap for Palindrome",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "prefix sum",
        "case work"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4683,
      "problem_letter": "L",
      "problem_id": 35365,
      "problem_name": "Tree Racing",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4683,
      "problem_letter": "M",
      "problem_id": 35366,
      "problem_name": "Much Room for Mushrooms",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "A",
      "problem_id": 35367,
      "problem_name": "Snakey String",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "B",
      "problem_id": 35355,
      "problem_name": "Blind Bottles",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "C",
      "problem_id": 35356,
      "problem_name": "One Way Only",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "D",
      "problem_id": 35357,
      "problem_name": "GUID Generator",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "data structures",
        "graph theory",
        "graph traversal",
        "tree",
        "hashing",
        "trie"
      ],
      "tag_keys": [
        "data_structures",
        "graphs",
        "graph_traversal",
        "trees",
        "hashing",
        "trie"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "graph_traversal",
          "name": "graph traversal",
          "boj_tag_id": 11
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        },
        {
          "key": "trie",
          "name": "trie",
          "boj_tag_id": 79
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "E",
      "problem_id": 35358,
      "problem_name": "Photo Encoding",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "greedy",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "F",
      "problem_id": 35368,
      "problem_name": "Breakout",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "implementation"
      ],
      "tag_keys": [
        "implementation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "G",
      "problem_id": 35369,
      "problem_name": "Shinjuku Station",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "H",
      "problem_id": 35370,
      "problem_name": "Memories of Passport Control",
      "problem_difficulty": "Bronze IV",
      "difficulty_level": 2,
      "tags": [
        "mathematics",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "I",
      "problem_id": 35371,
      "problem_name": "Inazuma Cube Device",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "J",
      "problem_id": 35363,
      "problem_name": "Game of Nines",
      "problem_difficulty": "Silver II",
      "difficulty_level": 9,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "K",
      "problem_id": 35364,
      "problem_name": "Swap for Palindrome",
      "problem_difficulty": "Gold II",
      "difficulty_level": 14,
      "tags": [
        "string",
        "prefix sum",
        "case work"
      ],
      "tag_keys": [
        "string",
        "prefix_sum",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "L",
      "problem_id": 35372,
      "problem_name": "Moonlit Time Machine",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "mathematics",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "bruteforcing",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4684,
      "problem_letter": "M",
      "problem_id": 35366,
      "problem_name": "Much Room for Mushrooms",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "constructive",
        "arithmetic",
        "case work"
      ],
      "tag_keys": [
        "math",
        "constructive",
        "arithmetic",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "A",
      "problem_id": 35373,
      "problem_name": "A Little Leftover Pizza",
      "problem_difficulty": "Bronze III",
      "difficulty_level": 3,
      "tags": [
        "mathematics",
        "implementation",
        "arithmetic"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "arithmetic"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "arithmetic",
          "name": "arithmetic",
          "boj_tag_id": 121
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "B",
      "problem_id": 35374,
      "problem_name": "Andor Strikes Again",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "implementation",
        "dynamic programming",
        "tree",
        "dynamic programming on trees"
      ],
      "tag_keys": [
        "implementation",
        "dp",
        "trees",
        "dp_tree"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "dp_tree",
          "name": "dynamic programming on trees",
          "boj_tag_id": 92
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "C",
      "problem_id": 35375,
      "problem_name": "AROD",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4685,
      "problem_letter": "D",
      "problem_id": 35376,
      "problem_name": "But I Want to Win",
      "problem_difficulty": "Bronze I",
      "difficulty_level": 5,
      "tags": [
        "implementation",
        "greedy",
        "sorting",
        "simulation"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "sorting",
        "simulation"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "simulation",
          "name": "simulation",
          "boj_tag_id": 141
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "E",
      "problem_id": 35377,
      "problem_name": "Chess Solitaire",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4685,
      "problem_letter": "F",
      "problem_id": 35378,
      "problem_name": "Fractional Sequence",
      "problem_difficulty": "Silver III",
      "difficulty_level": 8,
      "tags": [
        "mathematics",
        "bruteforcing",
        "number theory",
        "euclidean algorithm"
      ],
      "tag_keys": [
        "math",
        "bruteforcing",
        "number_theory",
        "euclidean"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "euclidean",
          "name": "euclidean algorithm",
          "boj_tag_id": 26
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "G",
      "problem_id": 35379,
      "problem_name": "How Many Balls?",
      "problem_difficulty": "Gold V",
      "difficulty_level": 11,
      "tags": [
        "mathematics",
        "bruteforcing"
      ],
      "tag_keys": [
        "math",
        "bruteforcing"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "H",
      "problem_id": 35380,
      "problem_name": "Move It, Slowpoke!",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4685,
      "problem_letter": "I",
      "problem_id": 35381,
      "problem_name": "Number Pyramid",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4685,
      "problem_letter": "J",
      "problem_id": 35382,
      "problem_name": "Polyomino Tiling",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4685,
      "problem_letter": "K",
      "problem_id": 35383,
      "problem_name": "Triptych",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "implementation",
        "dynamic programming",
        "combinatorics",
        "case work",
        "parity"
      ],
      "tag_keys": [
        "math",
        "implementation",
        "dp",
        "combinatorics",
        "case_work",
        "parity"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "parity",
          "name": "parity",
          "boj_tag_id": 230
        }
      ]
    },
    {
      "contest_id": 4685,
      "problem_letter": "L",
      "problem_id": 35384,
      "problem_name": "Valley Gulls",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4686,
      "problem_letter": "A",
      "problem_id": 35385,
      "problem_name": "Archery",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "graph theory"
      ],
      "tag_keys": [
        "graphs"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        }
      ]
    },
    {
      "contest_id": 4686,
      "problem_letter": "B",
      "problem_id": 35386,
      "problem_name": "Book Burning",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4686,
      "problem_letter": "C",
      "problem_id": 35387,
      "problem_name": "Constantine of Thessaloniki",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4686,
      "problem_letter": "D",
      "problem_id": 35388,
      "problem_name": "Ducks",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "combinatorics",
        "exponentiation by squaring",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "math",
        "combinatorics",
        "exponentiation_by_squaring",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        },
        {
          "key": "exponentiation_by_squaring",
          "name": "exponentiation by squaring",
          "boj_tag_id": 39
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 4686,
      "problem_letter": "E",
      "problem_id": 35389,
      "problem_name": "Emigrants",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4686,
      "problem_letter": "G",
      "problem_id": 35390,
      "problem_name": "Grooves",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4686,
      "problem_letter": "H",
      "problem_id": 35391,
      "problem_name": "Hussites",
      "problem_difficulty": "Gold I",
      "difficulty_level": 15,
      "tags": [
        "mathematics",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4686,
      "problem_letter": "J",
      "problem_id": 35392,
      "problem_name": "JJ the Almighty",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4686,
      "problem_letter": "M",
      "problem_id": 35393,
      "problem_name": "Meetings",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "set / map",
        "sweeping",
        "set / map by trees",
        "offline queries",
        "persistent segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "set",
        "sweeping",
        "tree_set",
        "offline_queries",
        "pst"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "set",
          "name": "set / map",
          "boj_tag_id": 225
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "tree_set",
          "name": "set / map by trees",
          "boj_tag_id": 74
        },
        {
          "key": "offline_queries",
          "name": "offline queries",
          "boj_tag_id": 123
        },
        {
          "key": "pst",
          "name": "persistent segment tree",
          "boj_tag_id": 55
        }
      ]
    },
    {
      "contest_id": 4686,
      "problem_letter": "O",
      "problem_id": 35394,
      "problem_name": "Ornithology",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [
        "sorting",
        "ad-hoc"
      ],
      "tag_keys": [
        "sorting",
        "ad_hoc"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        }
      ]
    },
    {
      "contest_id": 4686,
      "problem_letter": "S",
      "problem_id": 35395,
      "problem_name": "Snow",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "implementation",
        "prefix sum"
      ],
      "tag_keys": [
        "implementation",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4686,
      "problem_letter": "T",
      "problem_id": 35396,
      "problem_name": "Theatre",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "graph theory",
        "backtracking",
        "inclusion and exclusion"
      ],
      "tag_keys": [
        "graphs",
        "backtracking",
        "inclusion_and_exclusion"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "backtracking",
          "name": "backtracking",
          "boj_tag_id": 5
        },
        {
          "key": "inclusion_and_exclusion",
          "name": "inclusion and exclusion",
          "boj_tag_id": 38
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "A",
      "problem_id": 35397,
      "problem_name": "Apple Pie",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "graph theory",
        "case work",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "case_work",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "B",
      "problem_id": 35398,
      "problem_name": "Balanced Balloons",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "mathematics",
        "dynamic programming",
        "combinatorics"
      ],
      "tag_keys": [
        "math",
        "dp",
        "combinatorics"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "combinatorics",
          "name": "combinatorics",
          "boj_tag_id": 6
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "C",
      "problem_id": 35399,
      "problem_name": "Clean Streets",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree"
      ],
      "tag_keys": [
        "data_structures",
        "segtree"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "D",
      "problem_id": 35400,
      "problem_name": "Displaying Decimals",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4687,
      "problem_letter": "E",
      "problem_id": 35401,
      "problem_name": "Emergency Rations",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "data structures",
        "segment tree",
        "segment tree with lazy propagation",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "lazyprop",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "F",
      "problem_id": 35402,
      "problem_name": "Fuzzy Factorization",
      "problem_difficulty": "Gold IV",
      "difficulty_level": 12,
      "tags": [
        "mathematics",
        "ad-hoc",
        "number theory",
        "constructive",
        "prime factorization"
      ],
      "tag_keys": [
        "math",
        "ad_hoc",
        "number_theory",
        "constructive",
        "prime_factorization"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "number_theory",
          "name": "number theory",
          "boj_tag_id": 95
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        },
        {
          "key": "prime_factorization",
          "name": "prime factorization",
          "boj_tag_id": 242
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "G",
      "problem_id": 35403,
      "problem_name": "Gridoland Power Gauge",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "binary search",
        "shortest path",
        "dijkstra's",
        "maximum flow",
        "ternary search",
        "max-flow min-cut theorem",
        "planar graph",
        "dual graph"
      ],
      "tag_keys": [
        "graphs",
        "binary_search",
        "shortest_path",
        "dijkstra",
        "flow",
        "ternary_search",
        "mfmc",
        "planar_graph",
        "dual_graph"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "shortest_path",
          "name": "shortest path",
          "boj_tag_id": 215
        },
        {
          "key": "dijkstra",
          "name": "dijkstra's",
          "boj_tag_id": 22
        },
        {
          "key": "flow",
          "name": "maximum flow",
          "boj_tag_id": 45
        },
        {
          "key": "ternary_search",
          "name": "ternary search",
          "boj_tag_id": 101
        },
        {
          "key": "mfmc",
          "name": "max-flow min-cut theorem",
          "boj_tag_id": 167
        },
        {
          "key": "planar_graph",
          "name": "planar graph",
          "boj_tag_id": 168
        },
        {
          "key": "dual_graph",
          "name": "dual graph",
          "boj_tag_id": 181
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "H",
      "problem_id": 35404,
      "problem_name": "Harder Horizons",
      "problem_difficulty": "Silver IV",
      "difficulty_level": 7,
      "tags": [
        "greedy"
      ],
      "tag_keys": [
        "greedy"
      ],
      "tag_details": [
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "I",
      "problem_id": 35405,
      "problem_name": "Infiltration Route",
      "problem_difficulty": "Platinum I",
      "difficulty_level": 20,
      "tags": [
        "dynamic programming"
      ],
      "tag_keys": [
        "dp"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "J",
      "problem_id": 35406,
      "problem_name": "Judgmental Crowd",
      "problem_difficulty": "Bronze II",
      "difficulty_level": 4,
      "tags": [
        "implementation",
        "string"
      ],
      "tag_keys": [
        "implementation",
        "string"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "string",
          "name": "string",
          "boj_tag_id": 158
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "K",
      "problem_id": 35407,
      "problem_name": "Kings Conquest",
      "problem_difficulty": "Platinum V",
      "difficulty_level": 16,
      "tags": [
        "data structures",
        "segment tree",
        "case work"
      ],
      "tag_keys": [
        "data_structures",
        "segtree",
        "case_work"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "case_work",
          "name": "case work",
          "boj_tag_id": 137
        }
      ]
    },
    {
      "contest_id": 4687,
      "problem_letter": "L",
      "problem_id": 35408,
      "problem_name": "Lonely Creatures",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "data structures",
        "geometry",
        "segment tree",
        "value / coordinate compression"
      ],
      "tag_keys": [
        "data_structures",
        "geometry",
        "segtree",
        "coordinate_compression"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "coordinate_compression",
          "name": "value / coordinate compression",
          "boj_tag_id": 161
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "A",
      "problem_id": 35440,
      "problem_name": "Acorn Quarrels",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "tree",
        "binary search",
        "constructive"
      ],
      "tag_keys": [
        "trees",
        "binary_search",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "binary_search",
          "name": "binary search",
          "boj_tag_id": 12
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "B",
      "problem_id": 35441,
      "problem_name": "Boss Rush",
      "problem_difficulty": "Ruby V",
      "difficulty_level": 26,
      "tags": [
        "graph theory",
        "minimum spanning tree",
        "eulerian path / circuit"
      ],
      "tag_keys": [
        "graphs",
        "mst",
        "eulerian_path"
      ],
      "tag_details": [
        {
          "key": "graphs",
          "name": "graph theory",
          "boj_tag_id": 7
        },
        {
          "key": "mst",
          "name": "minimum spanning tree",
          "boj_tag_id": 49
        },
        {
          "key": "eulerian_path",
          "name": "eulerian path / circuit",
          "boj_tag_id": 93
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "C",
      "problem_id": 35442,
      "problem_name": "Cable Pruning",
      "problem_difficulty": "Diamond V",
      "difficulty_level": 21,
      "tags": [
        "data structures",
        "tree",
        "segment tree",
        "sweeping",
        "segment tree with lazy propagation",
        "hashing"
      ],
      "tag_keys": [
        "data_structures",
        "trees",
        "segtree",
        "sweeping",
        "lazyprop",
        "hashing"
      ],
      "tag_details": [
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "trees",
          "name": "tree",
          "boj_tag_id": 120
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "sweeping",
          "name": "sweeping",
          "boj_tag_id": 106
        },
        {
          "key": "lazyprop",
          "name": "segment tree with lazy propagation",
          "boj_tag_id": 66
        },
        {
          "key": "hashing",
          "name": "hashing",
          "boj_tag_id": 8
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "D",
      "problem_id": 35443,
      "problem_name": "Draw Your Deck",
      "problem_difficulty": "Platinum II",
      "difficulty_level": 19,
      "tags": [
        "mathematics",
        "dynamic programming",
        "probability theory"
      ],
      "tag_keys": [
        "math",
        "dp",
        "probability"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "probability",
          "name": "probability theory",
          "boj_tag_id": 177
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "E",
      "problem_id": 35444,
      "problem_name": "Evil Judges",
      "problem_difficulty": "Silver I",
      "difficulty_level": 10,
      "tags": [
        "sorting",
        "prefix sum"
      ],
      "tag_keys": [
        "sorting",
        "prefix_sum"
      ],
      "tag_details": [
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "prefix_sum",
          "name": "prefix sum",
          "boj_tag_id": 139
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "F",
      "problem_id": 35445,
      "problem_name": "Friend Meetup",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "mathematics",
        "geometry",
        "parametric search"
      ],
      "tag_keys": [
        "math",
        "geometry",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "G",
      "problem_id": 35446,
      "problem_name": "Gemstone Dowsing",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "mathematics",
        "sorting",
        "geometry"
      ],
      "tag_keys": [
        "math",
        "sorting",
        "geometry"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "H",
      "problem_id": 35447,
      "problem_name": "Heist of the Century",
      "problem_difficulty": "Platinum IV",
      "difficulty_level": 17,
      "tags": [
        "ad-hoc",
        "constructive"
      ],
      "tag_keys": [
        "ad_hoc",
        "constructive"
      ],
      "tag_details": [
        {
          "key": "ad_hoc",
          "name": "ad-hoc",
          "boj_tag_id": 109
        },
        {
          "key": "constructive",
          "name": "constructive",
          "boj_tag_id": 128
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "I",
      "problem_id": 35448,
      "problem_name": "I Don't Miss Pennies",
      "problem_difficulty": "Gold III",
      "difficulty_level": 13,
      "tags": [
        "mathematics",
        "greedy"
      ],
      "tag_keys": [
        "math",
        "greedy"
      ],
      "tag_details": [
        {
          "key": "math",
          "name": "mathematics",
          "boj_tag_id": 124
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "J",
      "problem_id": 35449,
      "problem_name": "Jelly Fusion",
      "problem_difficulty": "Diamond IV",
      "difficulty_level": 22,
      "tags": [
        "dynamic programming",
        "data structures",
        "segment tree",
        "convex hull trick",
        "li–chao tree"
      ],
      "tag_keys": [
        "dp",
        "data_structures",
        "segtree",
        "cht",
        "li_chao_tree"
      ],
      "tag_details": [
        {
          "key": "dp",
          "name": "dynamic programming",
          "boj_tag_id": 25
        },
        {
          "key": "data_structures",
          "name": "data structures",
          "boj_tag_id": 175
        },
        {
          "key": "segtree",
          "name": "segment tree",
          "boj_tag_id": 65
        },
        {
          "key": "cht",
          "name": "convex hull trick",
          "boj_tag_id": 89
        },
        {
          "key": "li_chao_tree",
          "name": "li–chao tree",
          "boj_tag_id": 227
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "K",
      "problem_id": 35450,
      "problem_name": "Kindergarten Revisited",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "bruteforcing",
        "geometry",
        "divide and conquer",
        "line segment intersection check"
      ],
      "tag_keys": [
        "implementation",
        "bruteforcing",
        "geometry",
        "divide_and_conquer",
        "line_intersection"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "bruteforcing",
          "name": "bruteforcing",
          "boj_tag_id": 125
        },
        {
          "key": "geometry",
          "name": "geometry",
          "boj_tag_id": 100
        },
        {
          "key": "divide_and_conquer",
          "name": "divide and conquer",
          "boj_tag_id": 24
        },
        {
          "key": "line_intersection",
          "name": "line segment intersection check",
          "boj_tag_id": 42
        }
      ]
    },
    {
      "contest_id": 4690,
      "problem_letter": "L",
      "problem_id": 35451,
      "problem_name": "Leaking Santa's Secrets",
      "problem_difficulty": "unranked",
      "difficulty_level": 0,
      "tags": [],
      "tag_keys": [],
      "tag_details": []
    },
    {
      "contest_id": 4690,
      "problem_letter": "M",
      "problem_id": 35452,
      "problem_name": "Maki Conveyor Belt",
      "problem_difficulty": "Platinum III",
      "difficulty_level": 18,
      "tags": [
        "implementation",
        "greedy",
        "sorting",
        "parametric search"
      ],
      "tag_keys": [
        "implementation",
        "greedy",
        "sorting",
        "parametric_search"
      ],
      "tag_details": [
        {
          "key": "implementation",
          "name": "implementation",
          "boj_tag_id": 102
        },
        {
          "key": "greedy",
          "name": "greedy",
          "boj_tag_id": 33
        },
        {
          "key": "sorting",
          "name": "sorting",
          "boj_tag_id": 97
        },
        {
          "key": "parametric_search",
          "name": "parametric search",
          "boj_tag_id": 170
        }
      ]
    }
  ]
}